From 62dfcd3463afbd52c3bf82ec639a28946c1e3b89 Mon Sep 17 00:00:00 2001 From: Daniel <77834935+Orvex07@users.noreply.github.com> Date: Fri, 30 Jan 2026 06:55:56 +0100 Subject: [PATCH 01/15] =?UTF-8?q?Fix:=20=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=BB=D0=BB=D0=B5=D1=80=20=D1=83=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=88=D0=B0=D1=82=D1=82=D0=BB=D0=BE?= =?UTF-8?q?=D0=BC=20(#3812)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Content.Server/Shuttles/Systems/ShuttleConsoleSystem.cs | 5 +++++ Resources/Maps/_Sunrise/Shuttles/Antag/assaultops.yml | 1 + Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator.yml | 1 + Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator_raid.yml | 1 + Resources/Maps/_Sunrise/Shuttles/Security/avangard_test.yml | 1 + 5 files changed, 9 insertions(+) diff --git a/Content.Server/Shuttles/Systems/ShuttleConsoleSystem.cs b/Content.Server/Shuttles/Systems/ShuttleConsoleSystem.cs index ebaebc91b5..cd0607da3d 100644 --- a/Content.Server/Shuttles/Systems/ShuttleConsoleSystem.cs +++ b/Content.Server/Shuttles/Systems/ShuttleConsoleSystem.cs @@ -179,6 +179,11 @@ public sealed partial class ShuttleConsoleSystem : SharedShuttleConsoleSystem return false; } + // Sunrise-Start + if (TryComp(uid, out var droneConsole) && droneConsole.Entity == null) + droneConsole.Entity = GetShuttleConsole(uid, droneConsole); + // Sunrise-End + var pilotComponent = EnsureComp(user); var console = pilotComponent.Console; diff --git a/Resources/Maps/_Sunrise/Shuttles/Antag/assaultops.yml b/Resources/Maps/_Sunrise/Shuttles/Antag/assaultops.yml index dac9b4bd83..4e354d8955 100644 --- a/Resources/Maps/_Sunrise/Shuttles/Antag/assaultops.yml +++ b/Resources/Maps/_Sunrise/Shuttles/Antag/assaultops.yml @@ -73,6 +73,7 @@ entities: - type: SpreaderGrid - type: Shuttle dampingModifier: 0.25 + - type: AssaultOpsShuttle - type: ImplicitRoof - type: GridPathfinding - type: Gravity diff --git a/Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator.yml b/Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator.yml index 4a83b6163e..c393a597aa 100644 --- a/Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator.yml +++ b/Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator.yml @@ -530,6 +530,7 @@ entities: - type: OccluderTree - type: Shuttle dampingModifier: 0.25 + - type: NukeOpsShuttle - type: RadiationGridResistance - type: GravityShake shakeTimes: 10 diff --git a/Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator_raid.yml b/Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator_raid.yml index dc53e934a1..d578ecfadb 100644 --- a/Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator_raid.yml +++ b/Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator_raid.yml @@ -579,6 +579,7 @@ entities: - type: OccluderTree - type: Shuttle dampingModifier: 0.25 + - type: NukeOpsShuttle - type: RadiationGridResistance - type: GravityShake shakeTimes: 10 diff --git a/Resources/Maps/_Sunrise/Shuttles/Security/avangard_test.yml b/Resources/Maps/_Sunrise/Shuttles/Security/avangard_test.yml index 29ed065d04..6724253f9f 100644 --- a/Resources/Maps/_Sunrise/Shuttles/Security/avangard_test.yml +++ b/Resources/Maps/_Sunrise/Shuttles/Security/avangard_test.yml @@ -88,6 +88,7 @@ entities: - type: SpreaderGrid - type: Shuttle dampingModifier: 0.25 + - type: SecurityShuttle - type: GridPathfinding - type: Gravity gravityShakeSound: !type:SoundPathSpecifier From 50a1b60c685d8982180bde68d6d47aa7cf3b6d5a Mon Sep 17 00:00:00 2001 From: Sunrise-Bot Date: Fri, 30 Jan 2026 05:57:01 +0000 Subject: [PATCH 02/15] Automatic changelog update --- Resources/Changelog/ChangelogSunrise.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Resources/Changelog/ChangelogSunrise.yml b/Resources/Changelog/ChangelogSunrise.yml index 19e5e742d3..d706f022fa 100644 --- a/Resources/Changelog/ChangelogSunrise.yml +++ b/Resources/Changelog/ChangelogSunrise.yml @@ -25400,3 +25400,21 @@ id: 1645 time: '2026-01-30T05:26:06.0000000+00:00' url: https://github.com/space-sunrise/sunrise-station/pull/3819 +- author: Orvex07 + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u0443\u0434\u0430\ + \u043B\u0435\u043D\u043D\u044B\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\ + \u043B\u0435\u0440 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\ + \ \u0448\u0430\u0442\u0442\u043B\u043E\u043C \u0434\u0438\u0432\u0435\u0440\u0441\ + \u0438\u043E\u043D\u043D\u043E\u0433\u043E \u043E\u0442\u0440\u044F\u0434\u0430" + type: Fix + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u0443\u0434\u0430\ + \u043B\u0435\u043D\u043D\u044B\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\ + \u043B\u0435\u0440 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\ + \ \u0448\u0430\u0442\u0442\u043B\u043E\u043C \u044F\u0434\u0435\u0440\u043D\u044B\ + \u0445 \u043E\u043F\u0435\u0440\u0430\u0442\u0438\u0432\u043D\u0438\u043A\u043E\ + \u0432" + type: Fix + id: 1646 + time: '2026-01-30T05:55:56.0000000+00:00' + url: https://github.com/space-sunrise/sunrise-station/pull/3812 From 8afa2896de38fa45b2a88adb66bd8a8fcde3d4ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=97=D1=8E=D0=B7=D1=8F?= <151495015+Kinar7@users.noreply.github.com> Date: Fri, 30 Jan 2026 19:06:45 +0500 Subject: [PATCH 03/15] Vending machine minor buff (#3777) --- .../SharedVendingMachineSystem.cs | 2 +- .../entities/clothing/outerclothing/coats.ftl | 2 ++ .../entities/clothing/outerclothing/coats.ftl | 2 ++ .../VendingMachines/Inventories/bardrobe.yml | 1 + .../VendingMachines/Inventories/chang.yml | 6 ++++ .../VendingMachines/Inventories/chefvend.yml | 9 ++++- .../VendingMachines/Inventories/detdrobe.yml | 8 +++++ .../VendingMachines/Inventories/lawdrobe.yml | 2 +- .../VendingMachines/Inventories/salvage.yml | 3 ++ .../Inventories/syndiedrobe.yml | 4 +-- .../Structures/Machines/vending_machines.yml | 34 +++++++++++-------- .../Entities/Clothing/OuterClothing/coats.yml | 16 +++++++++ 12 files changed, 70 insertions(+), 19 deletions(-) diff --git a/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs b/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs index f1140e6e6c..287bcccda3 100644 --- a/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs +++ b/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs @@ -438,7 +438,7 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem uint restock = amount; - if (type == InventoryType.Regular) + if (type == InventoryType.Regular || type == InventoryType.Contraband) { var chanceOfMissingStock = 1 - restockQuality; var result = Randomizer.NextFloat(0, 1); diff --git a/Resources/Locale/en-US/_prototypes/_sunrise/entities/clothing/outerclothing/coats.ftl b/Resources/Locale/en-US/_prototypes/_sunrise/entities/clothing/outerclothing/coats.ftl index 10671f4328..6f26d4f1f3 100644 --- a/Resources/Locale/en-US/_prototypes/_sunrise/entities/clothing/outerclothing/coats.ftl +++ b/Resources/Locale/en-US/_prototypes/_sunrise/entities/clothing/outerclothing/coats.ftl @@ -72,3 +72,5 @@ ent-ClothingOuterLeatherCoat = leather jacket .desc = Perfect for performances! ent-ClothingOuterLeatherCoatOpened = leather jacket .desc = Perfect for performances! +ent-ClothingOuterAerostaticBomberJacketArmored = armored aerostatic bomber jacket + .desc = A jacket once worn by the revolutionary air brigades during the Antecentennial Revolution. There are quite a few pockets on the inside, mostly for storing notebooks and compasses. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/coats.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/coats.ftl index 129b9231da..2e7b9475cf 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/coats.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/coats.ftl @@ -72,3 +72,5 @@ ent-ClothingOuterLeatherCoat = кожаная куртка .desc = Прекрасно подходит для выступлений! ent-ClothingOuterLeatherCoatOpened = кожаная куртка .desc = Прекрасно подходит для выступлений! +ent-ClothingOuterAerostaticBomberJacketArmored = бронированная аэростатическая куртка-бомбер + .desc = Куртка, которую носили революционные воздушные бригады во время Мировой революции. Внутри довольно много карманов, в основном для хранения блокнотов и компасов. \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/bardrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/bardrobe.yml index 478711288e..616a5de670 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/bardrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/bardrobe.yml @@ -19,3 +19,4 @@ ClothingEyesGlassesSunglasses: 2 contrabandInventory: ToyFigurineBartender: 1 + BoxBeanbag: 1 # Sunrise Edit diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chang.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chang.yml index c7a08853a5..36d607b093 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chang.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chang.yml @@ -11,4 +11,10 @@ contrabandInventory: FoodBakedDumplings: 2 FoodSoupMiso: 2 +# Sunrise start + FoodRiceBoiled: 2 + FoodRiceEgg: 2 + FoodRicePork: 2 +# Sunrise end # rice? +# Yes for rice \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chefvend.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chefvend.yml index 48ea1af43d..c367756736 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chefvend.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chefvend.yml @@ -25,4 +25,11 @@ FoodBoxDonkpocket: 1 FoodFrozenSandwich: 2 FoodFrozenSandwichStrawberry: 2 - + # Sunrise Start + FoodMeatFish: 3 + FoodMeatHuman: 3 + FoodMeatClown: 2 + FoodMeatAnomaly: 1 + emaggedInventory: + FoodMeatDragon: 2 + # Sunrise End diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml index 03e3dfc020..8e343d8760 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml @@ -18,3 +18,11 @@ ClothingHeadsetSecurity: 2 contrabandInventory: ToyFigurineDetective: 1 + # Sunrise Start + ClothingEyesBinoclardLenses: 1 + ClothingHandsGlovesAerostatic: 1 + ClothingNeckHorrific: 1 + ClothingOuterAerostaticBomberJacketArmored: 1 + ClothingShoesGreenLizardskin: 1 + ClothingUniformJumpsuitSuperstarCop: 1 + # Sunrise End diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/lawdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/lawdrobe.yml index f62acfe16e..a61b312e78 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/lawdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/lawdrobe.yml @@ -12,7 +12,7 @@ ClothingUniformJumpsuitLawyerGood: 1 ClothingUniformJumpskirtLawyerGood: 1 ClothingShoesBootsLaceup: 2 - ClothingHeadsetIAA: 2 + ClothingHeadsetLawyer: 2 # Sunrise Edit no more IAA headset abuse ClothingNeckLawyerbadge: 2 BriefcaseBrown: 2 ClothingHandsGlovesColorWhite: 1 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml index a2765923de..6d6b7dd16b 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml @@ -12,3 +12,6 @@ WeaponProtoKineticAccelerator: 4 contrabandInventory: PlushieCarp: 1 + PlushieMagicarp: 1 # Sunrise-Edit + PlushieHolocarp: 1 # Sunrise-Edit + # no rainbow carp(( \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/syndiedrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/syndiedrobe.yml index a1add7c18b..0cc9cd335c 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/syndiedrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/syndiedrobe.yml @@ -19,9 +19,9 @@ ToyFigurineFootsoldier: 1 ToyFigurineNukieElite: 1 ToyFigurineNukieCommander: 1 - ClothingUniformJumpskirtTacticalMaid: 5 - ClothingHandsTacticalMaidGloves: 5 emaggedInventory: ClothingOuterCoatSyndieCapArmored: 1 ClothingOuterWinterSyndieCapArmored: 1 ClothingHeadHatTacticalMaidHeadband: 5 + ClothingUniformJumpskirtTacticalMaid: 5 # Sunrise-edit + ClothingHandsTacticalMaidGloves: 5 # Sunrise-edit diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index 3623921bfc..3ed438126b 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -208,7 +208,7 @@ pack: GenericVendGoodbyes - type: Transform noRot: false - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -269,6 +269,7 @@ guides: - Bartender - Drinks + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachineBooze @@ -366,6 +367,7 @@ radius: 1.5 energy: 3.0 color: "#4b93ad" + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -396,7 +398,7 @@ shader: unshaded - state: panel map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -500,7 +502,7 @@ radius: 1.5 energy: 2.0 color: "#ad7c4b" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -537,7 +539,7 @@ radius: 1.5 energy: 3.0 color: "#3c5eb5" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachineCola @@ -681,7 +683,7 @@ radius: 1.5 energy: 3.0 color: "#66538F" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -718,7 +720,7 @@ radius: 1.5 energy: 3.0 color: "#6927C5" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -755,7 +757,7 @@ radius: 1.5 energy: 3.0 color: "#D82929" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -792,7 +794,7 @@ radius: 1.5 energy: 3.0 color: "#00E645" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -889,7 +891,7 @@ radius: 1.5 energy: 3.0 color: "#6148c7" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -956,6 +958,7 @@ - type: GuideHelp guides: - MedicalDoctor + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachineMedicalBase @@ -976,6 +979,7 @@ map: ["enum.WiresVisualLayers.MaintenancePanel"] - type: AccessReader access: [["Medical"]] + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -1124,7 +1128,7 @@ radius: 1.5 energy: 3.0 color: "#c73434" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachineSnack @@ -1155,7 +1159,7 @@ radius: 1.5 energy: 3.0 color: "#737785" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachineSnack @@ -1273,7 +1277,7 @@ energy: 3.0 color: "#389690" - type: RussianAccent - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -1472,7 +1476,7 @@ radius: 1.5 energy: 3.0 color: "#ffe599" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit - type: entity parent: VendingMachine @@ -1538,7 +1542,7 @@ radius: 1.5 energy: 3.0 color: "#d4ab33" - - type: PlayerCountDependentStock # Sunrise-vend + - type: PlayerCountDependentStock # Sunrise-Edit # job clothing @@ -2318,6 +2322,7 @@ - type: GuideHelp guides: - Medical + - type: PlayerCountDependentStock # Sunrise-Edit #Sunrise-Start - type: entity @@ -2357,3 +2362,4 @@ map: ["enum.WiresVisualLayers.MaintenancePanel"] - type: AccessReader access: [["Medical"]] + - type: PlayerCountDependentStock # Sunrise-Edit diff --git a/Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/coats.yml b/Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/coats.yml index 62dcc8baa1..295adfc943 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/coats.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/coats.yml @@ -350,6 +350,22 @@ - type: Clothing sprite: _Sunrise/Clothing/OuterClothing/Coats/hos_overcoat.rsi +- type: entity + parent: [ClothingOuterStorageBase, AllowSuitStorageClothing, ClothingOuterArmorBase] + id: ClothingOuterAerostaticBomberJacketArmored + name: armored aerostatic bomber jacket + description: A jacket once worn by the revolutionary air brigades during the Antecentennial Revolution. There are quite a few pockets on the inside, mostly for storing notebooks and compasses. + components: + - type: Sprite + sprite: _Sunrise/Clothing/OuterClothing/Coats/kim.rsi + - type: Clothing + sprite: _Sunrise/Clothing/OuterClothing/Coats/kim.rsi + - type: Tag + tags: + - Vest + - NudeBottom # INTERACTIONS + - WhitelistChameleon + - type: entity parent: ClothingOuterBase id: ClothingOuterAerostaticBomberJacket From 5a3be45880177fbb55453ee25740062243c8b075 Mon Sep 17 00:00:00 2001 From: Sunrise-Bot Date: Fri, 30 Jan 2026 14:07:50 +0000 Subject: [PATCH 04/15] Automatic changelog update --- Resources/Changelog/ChangelogSunrise.yml | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Resources/Changelog/ChangelogSunrise.yml b/Resources/Changelog/ChangelogSunrise.yml index d706f022fa..759236ff19 100644 --- a/Resources/Changelog/ChangelogSunrise.yml +++ b/Resources/Changelog/ChangelogSunrise.yml @@ -25418,3 +25418,35 @@ id: 1646 time: '2026-01-30T05:55:56.0000000+00:00' url: https://github.com/space-sunrise/sunrise-station/pull/3812 +- author: Kinar_7 + changes: + - message: "\u0441\u0435\u043A\u0440\u0435\u043D\u044B\u0439 \u0438\u043D\u0432\u0435\ + \u043D\u0442\u0430\u0440\u044C \u0432\u0435\u043D\u0434\u043E\u043C\u0430\u0442\ + \u0430 \u0434\u0435\u0442\u0435\u043A\u0442\u0438\u0432\u0430 \u0442\u0435\u043F\ + \u0435\u0440\u044C \u0438\u043C\u0435\u0435\u0442 \u043E\u0442\u0441\u044B\u043B\ + \u043A\u0443 \u043D\u0430 \u0434\u0438\u0441\u043A\u043E \u044D\u043B\u0438\u0437\ + \u0438\u0443\u043C." + type: Tweak + - message: "\u0435\u0449\u0451 \u0447\u0430\u0441\u0442\u044C \u0432\u0435\u043D\ + \u0434\u043E\u043C\u0430\u0442\u043E\u0432 \u0442\u0435\u043F\u0435\u0440\u044C\ + \ \u043C\u0435\u043D\u044F\u044E\u0442 \u0438\u043D\u0432\u0435\u043D\u0442\u0430\ + \u0440\u044C \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\ + \u0438 \u043E\u0442 \u043E\u043D\u043B\u0430\u0439\u043D\u0430" + type: Tweak + - message: "\u0441\u0435\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0438\u043D\u0432\ + \u0435\u043D\u0442\u0430\u0440\u0438 \u0448\u0435\u0432\u0432\u0435\u043D\u0434\ + \u0430 \u0438 \u043C\u0438\u0441\u0442\u0435\u0440\u0430 \u0447\u0430\u043D\u0433\ + \u0430 \u0431\u044B\u043B\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\ + \u044B." + type: Tweak + - message: "\u0411\u043E\u0435\u0432\u043E\u0439 \u043D\u0430\u0431\u043E\u0440\ + \ \u0433\u043E\u0440\u043D\u0438\u0447\u043D\u043E\u0439 \u0441\u0438\u043D\u0434\ + \u0438\u043A\u0430\u0442\u0430 \u0432 \u0441\u0438\u043D\u0434\u0438\u0448\u043A\ + \u0430\u0444\u0435, \u0431\u044B\u043B \u043F\u0435\u0440\u0435\u043D\u0435\u0441\ + \u0435\u043D \u0441 \u0441\u0435\u043A\u0440\u0435\u0442\u043D\u043E\u0433\u043E\ + \ \u0438\u043D\u0432\u0435\u043D\u0442\u0430\u0440\u044F \u0432 \u0435\u043C\ + \u0430\u0433\u043D\u0443\u0442\u044B\u0439." + type: Tweak + id: 1647 + time: '2026-01-30T14:06:45.0000000+00:00' + url: https://github.com/space-sunrise/sunrise-station/pull/3777 From ce5ead1ecd48d21f1d8e8af73dd3bd067ec696a0 Mon Sep 17 00:00:00 2001 From: Daniel <77834935+Orvex07@users.noreply.github.com> Date: Fri, 30 Jan 2026 18:46:45 +0100 Subject: [PATCH 05/15] =?UTF-8?q?RobustChat=20=D0=B2=20ignore=5Flist.yml?= =?UTF-8?q?=20(#3827)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Tools/_sunrise/Schemas/ignore_list.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tools/_sunrise/Schemas/ignore_list.yml b/Tools/_sunrise/Schemas/ignore_list.yml index 35404e24fe..ac634b76ca 100644 --- a/Tools/_sunrise/Schemas/ignore_list.yml +++ b/Tools/_sunrise/Schemas/ignore_list.yml @@ -181,7 +181,8 @@ ignore_list: - 'MHelp' - 'Net-ERR*?*%' - 'Holo Girl' - + - 'RobustChat' + ignore_files: - 'italian.ftl' - 'russian.ftl' From 73c75f795130a3dcaf1b9cbf0581d5b521852be2 Mon Sep 17 00:00:00 2001 From: Daniel <77834935+Orvex07@users.noreply.github.com> Date: Sat, 31 Jan 2026 09:40:10 +0100 Subject: [PATCH 06/15] =?UTF-8?q?Tweak:=20=D0=A0=D1=83=D1=87=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D0=BC=D0=BE=D0=BD=D0=B8=D1=82=D0=BE=D1=80=D0=B8=D0=BD?= =?UTF-8?q?=D0=B3.=20=20(#3799)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../objects/specific/robotics/borg_tools.ftl | 2 +- .../objects/specific/robotics/borg_tools.ftl | 2 +- .../_strings/_sunrise/research/technologies.ftl | 2 +- .../Prototypes/Catalog/Fills/Lockers/medical.yml | 2 +- Resources/Prototypes/Entities/Objects/Fun/pai.yml | 2 +- .../Specific/Medical/handheld_crew_monitor.yml | 11 +++++------ .../Prototypes/Objectives/stealTargetGroups.yml | 13 ++++++------- Resources/Prototypes/Objectives/traitor.yml | 13 ++++++------- .../_Sunrise/Entities/Mobs/Cyborgs/borg_chassis.yml | 2 +- .../Objects/Specific/Robotics/borg_tools.yml | 4 ++-- .../_Sunrise/Recipes/Lathes/Packs/medical.yml | 2 +- .../Prototypes/_Sunrise/Recipes/Lathes/medical.yml | 5 +++-- Resources/Prototypes/_Sunrise/Research/medical.yml | 6 +++--- .../Jobs/CentralCommand/blueshield_operative.yml | 2 +- Resources/Prototypes/borg_types.yml | 2 +- 15 files changed, 34 insertions(+), 36 deletions(-) diff --git a/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/specific/robotics/borg_tools.ftl b/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/specific/robotics/borg_tools.ftl index f236522b53..83f1a3ddd1 100644 --- a/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/specific/robotics/borg_tools.ftl +++ b/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/specific/robotics/borg_tools.ftl @@ -58,7 +58,7 @@ ent-WeaponIAR52Borg = cyborg's IAR-52 .desc = High-speed SMG, equipped with a universal connector for other types of pistol magazines. ent-HypoBorgSaboteurSyndicate = the cyborg saboteur's hypospray .desc = { ent-BaseItem.desc } -ent-HandheldCrewMonitorBorg = handheld robot crew monitor +ent-HandheldEmergencyCrewMonitorBorg = handheld robot crew monitor .desc = A hand-held crew monitor that runs off of your own power cells, which displays the status of the crew suit sensors. ent-WeaponPlasmaCutterBorg = borg plasma cutter .desc = A mining tool that fires low-damage plasma bolts at a short range. This one is modified for cyborg use. diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/specific/robotics/borg_tools.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/specific/robotics/borg_tools.ftl index af67879124..a51de6a0bc 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/specific/robotics/borg_tools.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/specific/robotics/borg_tools.ftl @@ -58,7 +58,7 @@ ent-WeaponIAR52Borg = IAR-52 киборга .desc = Высокоскорострельный ПП, оборудован универсальным разъёмом для других типов пистолетных магазинов. ent-HypoBorgSaboteurSyndicate = гипоспрей киборга диверсанта .desc = { ent-BaseItem.desc } -ent-HandheldCrewMonitorBorg = портативный монитор экипажа киборга +ent-HandheldEmergencyCrewMonitorBorg = портативный монитор экипажа киборга .desc = { ent-HandheldCrewMonitor.desc } ent-WeaponPlasmaCutterBorg = плазменный резак борга .desc = Инструмент для добычи, стреляющий плазменными зарядами с малым уроном на близком расстоянии. Этот модифицирован для использования киборгами и имеет автоматический режим стрельбы. diff --git a/Resources/Locale/ru-RU/_strings/_sunrise/research/technologies.ftl b/Resources/Locale/ru-RU/_strings/_sunrise/research/technologies.ftl index b3cc442635..7f4434a234 100644 --- a/Resources/Locale/ru-RU/_strings/_sunrise/research/technologies.ftl +++ b/Resources/Locale/ru-RU/_strings/_sunrise/research/technologies.ftl @@ -4,7 +4,7 @@ research-technology-basic-cyberlimbs = Базовые кибер-конечно research-technology-implant-extractor-safety = Безопасное извлечение имплантов research-technology-implant-extractor = Извлечение имплантов research-technology-advanced-surgery = Продвинутая хирургия -research-technology-hanheld-crew-monitor = Портативный мониторинг +research-technology-hanheld-crew-monitor = Портативный мониторинг Пульс-Гард research-technology-mechanized-medical-treatment = Механизированное лечение research-technology-handcraft-nvd = Кустарные ПНВ research-technology-basic-nvd = Продвинутое ПНВ diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/medical.yml b/Resources/Prototypes/Catalog/Fills/Lockers/medical.yml index 240177e94d..68369a6b78 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/medical.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/medical.yml @@ -122,7 +122,7 @@ id: LockerFillParamedic table: !type:AllSelector children: - - id: HandheldCrewMonitor # Sunrise-Edit + - id: HandheldEmergencyCrewMonitor # Sunrise-Edit - id: ClothingOuterHardsuitVoidParamed - id: ClothingOuterCoatParamedicWB - id: ClothingHeadHatParamedicsoft diff --git a/Resources/Prototypes/Entities/Objects/Fun/pai.yml b/Resources/Prototypes/Entities/Objects/Fun/pai.yml index 61940f5bd8..6e881252df 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/pai.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/pai.yml @@ -104,7 +104,7 @@ instantActions: - PortableSurveillanceCameraMonitorUnpowered - HandheldStationMapUnpowered - - HandheldCrewMonitorBorg + - HandheldEmergencyCrewMonitorBorg entityTargetActions: - HandheldHealthAnalyzerUnpowered - type: BorgBrain diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml index 2a2f66132c..986ac8fb3e 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml @@ -25,12 +25,11 @@ - type: StationLimitedNetwork - type: StaticPrice price: 500 -# Sunrise-Edit -# - type: Tag -# tags: -# - HighRiskItem -# - type: StealTarget -# stealGroup: HandheldCrewMonitor + - type: Tag + tags: + - HighRiskItem + - type: StealTarget + stealGroup: HandheldCrewMonitor - type: entity id: HandheldCrewMonitorEmpty diff --git a/Resources/Prototypes/Objectives/stealTargetGroups.yml b/Resources/Prototypes/Objectives/stealTargetGroups.yml index 1f17dae71c..ac3dd459d6 100644 --- a/Resources/Prototypes/Objectives/stealTargetGroups.yml +++ b/Resources/Prototypes/Objectives/stealTargetGroups.yml @@ -7,13 +7,12 @@ sprite: Objects/Specific/Medical/hypospray.rsi state: hypo -# Sunrise-Edit -#- type: stealTargetGroup -# id: HandheldCrewMonitor -# name: steal-target-groups-handheld-crew-monitor -# sprite: -# sprite: Objects/Specific/Medical/handheldcrewmonitor.rsi -# state: scanner +- type: stealTargetGroup + id: HandheldCrewMonitor + name: steal-target-groups-handheld-crew-monitor + sprite: + sprite: Objects/Specific/Medical/handheldcrewmonitor.rsi + state: scanner - type: stealTargetGroup id: ClothingOuterHardsuitRd diff --git a/Resources/Prototypes/Objectives/traitor.yml b/Resources/Prototypes/Objectives/traitor.yml index 39eb65154a..6c75ef03ea 100644 --- a/Resources/Prototypes/Objectives/traitor.yml +++ b/Resources/Prototypes/Objectives/traitor.yml @@ -219,13 +219,12 @@ - type: StealCondition stealGroup: Hypospray -# Sunrise-Edit -#- type: entity -# parent: BaseCMOStealObjective -# id: CMOCrewMonitorStealObjective -# components: -# - type: StealCondition -# stealGroup: HandheldCrewMonitor +- type: entity + parent: BaseCMOStealObjective + id: CMOCrewMonitorStealObjective + components: + - type: StealCondition + stealGroup: HandheldCrewMonitor ## rd diff --git a/Resources/Prototypes/_Sunrise/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/_Sunrise/Entities/Mobs/Cyborgs/borg_chassis.yml index dd49fd393f..15ff9fa825 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Mobs/Cyborgs/borg_chassis.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -213,7 +213,7 @@ instantActions: - PortableSurveillanceCameraMonitorUnpowered - HandheldStationMapUnpowered - - HandheldCrewMonitorBorg + - HandheldEmergencyCrewMonitorBorg - HandHeldMassScannerBorg - type: MobThresholds thresholds: diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Robotics/borg_tools.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Robotics/borg_tools.yml index 730fc2ff1e..44756fda45 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Robotics/borg_tools.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Robotics/borg_tools.yml @@ -717,8 +717,8 @@ - HyposprayInjectMode - type: entity - parent: HandheldCrewMonitor - id: HandheldCrewMonitorBorg + parent: HandheldEmergencyCrewMonitor + id: HandheldEmergencyCrewMonitorBorg name: handheld robot crew monitor description: A hand-held crew monitor that runs off of your own power cells, which displays the status of the crew suit sensors. categories: [ HideSpawnMenu ] diff --git a/Resources/Prototypes/_Sunrise/Recipes/Lathes/Packs/medical.yml b/Resources/Prototypes/_Sunrise/Recipes/Lathes/Packs/medical.yml index 21d7c3abff..84d199d246 100644 --- a/Resources/Prototypes/_Sunrise/Recipes/Lathes/Packs/medical.yml +++ b/Resources/Prototypes/_Sunrise/Recipes/Lathes/Packs/medical.yml @@ -20,7 +20,7 @@ - SyringeCryostasis - AutoMenderBurn - AutoMenderBrute - - HandheldCrewMonitor + - HandheldEmergencyCrewMonitor - BlankMediPen - ImplanterExtractor - DefibrillatorCompact diff --git a/Resources/Prototypes/_Sunrise/Recipes/Lathes/medical.yml b/Resources/Prototypes/_Sunrise/Recipes/Lathes/medical.yml index ff4edb1646..2125a5b8db 100644 --- a/Resources/Prototypes/_Sunrise/Recipes/Lathes/medical.yml +++ b/Resources/Prototypes/_Sunrise/Recipes/Lathes/medical.yml @@ -8,8 +8,8 @@ Silver: 100 - type: latheRecipe - id: HandheldCrewMonitor - result: HandheldCrewMonitorEmpty + id: HandheldEmergencyCrewMonitor + result: HandheldEmergencyCrewMonitorEmpty categories: - Tools completetime: 4 @@ -18,6 +18,7 @@ Steel: 250 Plastic: 400 Gold: 100 + Plasma: 50 - type: latheRecipe id: DefibrillatorCompact diff --git a/Resources/Prototypes/_Sunrise/Research/medical.yml b/Resources/Prototypes/_Sunrise/Research/medical.yml index b368d59022..5c23c591ab 100644 --- a/Resources/Prototypes/_Sunrise/Research/medical.yml +++ b/Resources/Prototypes/_Sunrise/Research/medical.yml @@ -96,16 +96,16 @@ - ImplantExtractor - type: technology - id: HandheldCrewMonitorTech + id: HandheldEmergencyCrewMonitorTech name: research-technology-hanheld-crew-monitor icon: - sprite: Objects/Specific/Medical/handheldcrewmonitor.rsi + sprite: _Sunrise/Objects/Specific/Medical/handheld_emergency_crewmonitor.rsi state: scanner discipline: Biochemical tier: 2 cost: 9000 recipeUnlocks: - - HandheldCrewMonitor + - HandheldEmergencyCrewMonitor technologyPrerequisites: - SurgeryTech diff --git a/Resources/Prototypes/_Sunrise/Roles/Jobs/CentralCommand/blueshield_operative.yml b/Resources/Prototypes/_Sunrise/Roles/Jobs/CentralCommand/blueshield_operative.yml index ea75a0819d..56da957a11 100644 --- a/Resources/Prototypes/_Sunrise/Roles/Jobs/CentralCommand/blueshield_operative.yml +++ b/Resources/Prototypes/_Sunrise/Roles/Jobs/CentralCommand/blueshield_operative.yml @@ -40,7 +40,7 @@ pocket2: WeaponTaser storage: back: - - HandheldCrewMonitor + - HandheldBSOCrewMonitor - type: chameleonOutfit id: BlueShieldOperativeChameleonOutfit diff --git a/Resources/Prototypes/borg_types.yml b/Resources/Prototypes/borg_types.yml index 3b61988fb3..a87d34f7b8 100644 --- a/Resources/Prototypes/borg_types.yml +++ b/Resources/Prototypes/borg_types.yml @@ -270,7 +270,7 @@ - type: InnateItem instantActions: - HandheldStationMapUnpowered - - HandheldCrewMonitorBorg + - HandheldEmergencyCrewMonitor entityTargetActions: - HandheldHealthAnalyzerUnpowered # Sunrise-End From 59586b04a8a1bba094dbbcc15ea660ae848d8c49 Mon Sep 17 00:00:00 2001 From: Sunrise-Bot Date: Sat, 31 Jan 2026 08:41:15 +0000 Subject: [PATCH 07/15] Automatic changelog update --- Resources/Changelog/ChangelogSunrise.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Resources/Changelog/ChangelogSunrise.yml b/Resources/Changelog/ChangelogSunrise.yml index 759236ff19..1ceeae71a2 100644 --- a/Resources/Changelog/ChangelogSunrise.yml +++ b/Resources/Changelog/ChangelogSunrise.yml @@ -25450,3 +25450,19 @@ id: 1647 time: '2026-01-30T14:06:45.0000000+00:00' url: https://github.com/space-sunrise/sunrise-station/pull/3777 +- author: Orvex + changes: + - message: "\u0412\u043E\u0437\u0432\u0440\u0430\u0449\u0435\u043D\u0430 \u0446\u0435\ + \u043B\u044C \u043D\u0430 \u043A\u0440\u0430\u0436\u0443 \u0440\u0443\u0447\u043D\ + \u043E\u0433\u043E \u043C\u043E\u043D\u0438\u0442\u043E\u0440\u0438\u043D\u0433\ + \u0430" + type: Add + - message: "\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439 \u0440\ + \u0443\u0447\u043D\u043E\u0439 \u043C\u043E\u043D\u0438\u0442\u043E\u0440\u0438\ + \u043D\u0433 \u0437\u0430\u043C\u0435\u043D\u0435\u043D \u043D\u0430 \u0430\u043B\ + \u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u0443\u044E \u0432\ + \u0435\u0440\u0441\u0438\u044E" + type: Tweak + id: 1648 + time: '2026-01-31T08:40:10.0000000+00:00' + url: https://github.com/space-sunrise/sunrise-station/pull/3799 From 5c0b0716fd38664c0078270cf4fd5d892c84204b Mon Sep 17 00:00:00 2001 From: KaiserMaus Date: Sat, 31 Jan 2026 22:27:45 +0000 Subject: [PATCH 08/15] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=D1=8B=20=D0=B2?= =?UTF-8?q?=D1=81=D1=8F=D0=BA=D0=BE=D0=B3=D0=BE=20(#3832)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Weapons/Ranged/Systems/GunSystem.cs | 2 +- .../entities/objects/misc/implanters.ftl | 2 +- .../guns/ammunition/magazines/sniper.ftl | 11 + .../en-US/_prototypes/_sunrise/misc.ftl | 7 + .../_strings/_sunrise/guidebook/guides.ftl | 1 + .../_sunrise/store/uplink-catalog.ftl | 3 +- .../entities/clothing/outerclothing/armor.ftl | 2 +- .../_sunrise/entities/mobs/npcs/pirates.ftl | 247 +++++++ .../entities/objects/misc/implanters.ftl | 4 +- .../ammunition/magazines/caseless_rifle.ftl | 4 +- .../guns/ammunition/magazines/sniper.ftl | 19 +- .../objects/weapons/guns/pistols/pistols.ftl | 2 +- .../ru-RU/_prototypes/_sunrise/misc.ftl | 6 + .../_strings/_sunrise/guidebook/guides.ftl | 1 + .../_sunrise/store/uplink-catalog.ftl | 12 +- .../ghost/roles/ghost-role-component.ftl | 8 +- .../ru-RU/_strings/store/uplink-catalog.ftl | 6 - .../_Sunrise/Shuttles/Salvage/oredozer.yml | 16 +- Resources/Prototypes/Actions/types.yml | 3 +- .../Entities/Clothing/OuterClothing/armor.yml | 3 - .../Entities/Objects/Power/powercells.yml | 3 +- .../Specific/Mech/Weapons/Gun/industrial.yml | 2 +- .../Entities/Objects/Specific/Mech/mechs.yml | 11 + .../Entities/Objects/Weapons/Bombs/cord.yml | 5 + .../Objects/Weapons/Bombs/detonator.yml | 5 + .../Ammunition/Cartridges/base_cartridge.yml | 5 + .../Weapons/Guns/Projectiles/projectiles.yml | 2 +- .../Prototypes/Entities/Stations/base.yml | 3 + .../Doors/Airlocks/base_structureairlocks.yml | 4 +- .../Entities/Structures/Walls/asteroid.yml | 2 +- .../Entities/Structures/Walls/walls.yml | 2 +- Resources/Prototypes/GameRules/roundstart.yml | 2 +- .../Recipes/Lathes/Packs/syndicate.yml | 7 + .../Prototypes/_Sunrise/Actions/implants.yml | 4 +- .../Catalog/Fills/Boxes/syndicate.yml | 3 +- .../_Sunrise/Catalog/Fills/Crates/ussp.yml | 5 +- .../Catalog/Fills/Items/briefcases.yml | 5 +- .../Inventories/liberation.yml | 2 +- .../Catalog/pirate_uplink_catalog.yml | 2 +- .../Catalog/sponsor_uplink_catalog.yml | 19 +- .../_Sunrise/Catalog/uplink_catalog.yml | 56 +- .../Entities/Clothing/OuterClothing/armor.yml | 2 +- .../_Sunrise/Entities/Effects/overlays.yml | 4 +- .../Entities/Mobs/Cyborgs/borg_chassis.yml | 3 + .../_Sunrise/Entities/Objects/Fun/prunks.yml | 3 + .../Entities/Objects/Specific/Mech/mechs.yml | 3 + .../Guns/Ammunition/Magazines/sniper.yml | 62 +- .../Weapons/Guns/Projectiles/projectiles.yml | 8 +- .../Objects/Weapons/Guns/SMGs/smgs.yml | 10 +- .../Objects/Weapons/Guns/Snipers/snipers.yml | 7 +- .../Objects/Weapons/Melee/e_pickaxe.yml | 8 +- .../Doors/Airlocks/Glass/airlocks.yml | 4 +- .../Entities/Structures/Machines/bombs.yml | 5 +- .../_Sunrise/Guidebook/detonator_triggers.yml | 5 + .../NPCs/PirateNPC/gloves_weapon_npcs.yml | 65 +- .../NPCs/PirateNPC/mob_hostile_base.yml | 2 +- .../NPCs/PirateNPC/npc_loot_pirate.yml | 5 +- .../Prototypes/_Sunrise/NPCs/pirates.yml | 695 +++++++++++++++--- .../_Sunrise/Procedural/salvage_factions.yml | 189 +++-- .../_Sunrise/Recipes/Lathes/ammo.yml | 51 +- .../Prototypes/_Sunrise/secret_weights.yml | 7 +- Resources/Prototypes/game_presets.yml | 96 +-- .../Guidebook/_Sunrise/DetonatorTriggers.xml | 38 + Resources/migration.yml | 3 + 64 files changed, 1426 insertions(+), 357 deletions(-) create mode 100644 Resources/Prototypes/_Sunrise/Guidebook/detonator_triggers.yml create mode 100644 Resources/ServerInfo/Guidebook/_Sunrise/DetonatorTriggers.xml diff --git a/Content.Client/Weapons/Ranged/Systems/GunSystem.cs b/Content.Client/Weapons/Ranged/Systems/GunSystem.cs index ee81c1325d..f0e2246dc0 100644 --- a/Content.Client/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Client/Weapons/Ranged/Systems/GunSystem.cs @@ -568,7 +568,7 @@ public sealed partial class GunSystem : SharedGunSystem var lifetime = 0.4f; - if (TryComp(gunUid, out var despawn)) + if (TryComp(ent, out var despawn)) // Sunrise-Edit { lifetime = despawn.Lifetime; } diff --git a/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/misc/implanters.ftl b/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/misc/implanters.ftl index 87f1db98fa..f69c9cd5bd 100644 --- a/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/misc/implanters.ftl +++ b/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/misc/implanters.ftl @@ -11,5 +11,5 @@ ent-DeathRattleImplanterFreelance = { ent-BaseImplantOnlyImplanterSyndi } .suffix = freelance death rattle .desc = { ent-BaseImplantOnlyImplanterSyndi.desc } ent-ScramImplanterProto = { ent-ScramImplanter } - .suffix = prototype + .suffix = prototype scram .desc = { ent-ScramImplanter.desc } diff --git a/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/sniper.ftl b/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/sniper.ftl index 4ee1c065bd..47b93b9714 100644 --- a/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/sniper.ftl +++ b/Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/sniper.ftl @@ -2,6 +2,8 @@ ent-MagazineBR64 = BR64 magazine .desc = Standart EarthGov type of heavy magazines. ent-BaseMagazineBauer127 = magazine (15mm anti-materiel) .desc = A large magazine for a heavy weapon, holds 15×115mm anti-materiel rounds. +ent-MagazineBauer127Large = large magazine (15mm space anti-materiel) + .desc = { ent-BaseMagazineBauer127.desc } ent-MagazineBauer127 = { ent-BaseMagazineBauer127 } .desc = { ent-BaseMagazineBauer127.desc } ent-MagazineBauer127Penetrator = magazine (15mm penetrator) @@ -17,6 +19,15 @@ ent-BaseMagazineDragunov = magazine Dragunov (7,62mmR) ent-MagazineDragunovExtended = magazine Dragunov (7,62mmR) .suffix = Sunrise .desc = { ent-BaseMagazineDragunov.desc } +ent-MagazineDragunovSP = magazine Dragunov (7,62mmR SP) + .suffix = Sunrise + .desc = { ent-BaseMagazineDragunov.desc } +ent-MagazineDragunovHP = magazine Dragunov (7,62mmR HP) + .suffix = Sunrise + .desc = { ent-BaseMagazineDragunov.desc } +ent-MagazineDragunovFMJ = magazine Dragunov (7,62mmR FMJ) + .suffix = Sunrise + .desc = { ent-BaseMagazineDragunov.desc } ent-MagazineDragunov = magazine Dragunov (7,62mmR) .suffix = Sunrise .desc = { ent-BaseMagazineDragunov.desc } diff --git a/Resources/Locale/en-US/_prototypes/_sunrise/misc.ftl b/Resources/Locale/en-US/_prototypes/_sunrise/misc.ftl index 7c3e85cafb..3fae1654b2 100644 --- a/Resources/Locale/en-US/_prototypes/_sunrise/misc.ftl +++ b/Resources/Locale/en-US/_prototypes/_sunrise/misc.ftl @@ -3,6 +3,13 @@ ent-CableDet = explosive cord ent-CableDetStack = explosive cord .desc = Explosive cord for removing whatever is in your way. + .suffix = Full + +ent-CableDetStack10 = { ent-CableDetStack } + .suffix = 10 + +ent-CableDetStack1 = { ent-CableDetStack } + .suffix = 1 ent-EmptyDetonator = detonator cap .desc = A detonator cap. Requires a trigger and wire. diff --git a/Resources/Locale/en-US/_strings/_sunrise/guidebook/guides.ftl b/Resources/Locale/en-US/_strings/_sunrise/guidebook/guides.ftl index 3e190229ab..89ce800849 100644 --- a/Resources/Locale/en-US/_strings/_sunrise/guidebook/guides.ftl +++ b/Resources/Locale/en-US/_strings/_sunrise/guidebook/guides.ftl @@ -51,3 +51,4 @@ guide-entry-sr-rule-cep = Политика эскалации конфликто guide-entry-sr-rule-ccp = Политика создания персонажей guide-entry-sr-rule-pana = Препятствование аресту неантагонистами guide-entry-improvised-grenade-casing = Improvised grenade casing +guide-entry-detonator-triggers = Explosive cord and triggers diff --git a/Resources/Locale/en-US/_strings/_sunrise/store/uplink-catalog.ftl b/Resources/Locale/en-US/_strings/_sunrise/store/uplink-catalog.ftl index 4b2abfd4e0..2e857cc215 100644 --- a/Resources/Locale/en-US/_strings/_sunrise/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/_strings/_sunrise/store/uplink-catalog.ftl @@ -1,4 +1,4 @@ -## Targets +## Targets uplink-core-extraction-toolbox-name = Core Extraction Toolbox uplink-core-extraction-toolbox-desc = A toolbox containing everything you need to remove a nuclear bomb's plutonium core. Instructions not included. @@ -149,3 +149,4 @@ uplink-energy-dome-desc = A personal shield generator that protects the wearer f uplink-syndicate-teleporter-name = Hand syndicate teleporter uplink-syndicate-teleporter-desc = An experimental hand teleporting device. Teleports its owner forward in a small area. Be careful not to end up in the wall. + diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/armor.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/armor.ftl index 5386b6ab2f..56af43de32 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/armor.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/armor.ftl @@ -31,7 +31,7 @@ ent-ClothingOuterArmorAmberNewJan = { ent-ClothingOuterArmorAmberJan } ent-ClothingOuterArmorAbductor = жилет абдуктора .desc = { ent-ClothingOuterArmorBasic.desc } ent-ClothingOuterArmorPlate = плитоносец - .desc = Стандартный бронежилет типа II, обеспечивающий хорошую защиту от пуль и лазеров благодаря вставленным фронтальной и тыльной плитам, но не дающий особой защиты от остального. + .desc = Стандартный бронежилет типа II, обеспечивающий хорошую защиту от пуль благодаря вставленным фронтальной и тыльной плитам, но не дающий особой защиты от остального. ent-ClothingOuterArmorStab = противоножевой жилет .desc = Несмотря на название, это обычный бронежилет типа II, обеспечивающий хорошую защиту от ударов и колющих атак, но не более. ent-ClothingOuterArmorHeatAbsorb = теплозащитный жилет diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/mobs/npcs/pirates.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/mobs/npcs/pirates.ftl index 2612fdcb9e..bf8046d9c2 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/mobs/npcs/pirates.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/mobs/npcs/pirates.ftl @@ -76,6 +76,18 @@ ent-MobPirateT2ShotgunGlass = мушкетонщик пиратов .desc = Знает толк в дробовиках, вооружен мушкетоном. Меньше дробовик, больше ручная пушка. Стреляет всем, что влезло в ствол. ent-MobPirateT2Musket = мушкетер пиратов .desc = Пират вооруженый старинным мушкетом крупного калибра и штыком. +ent-MobPirateT2MusketEMP = { ent-MobPirateT2Musket } + .suffix = ЭМИ + .desc = { ent-MobPirateT2Musket.desc } +ent-MobPirateT2MusketBlast = { ent-MobPirateT2Musket } + .suffix = Взрыв + .desc = { ent-MobPirateT2Musket.desc } +ent-MobPirateT2MusketFrag = { ent-MobPirateT2Musket } + .suffix = Осколки + .desc = { ent-MobPirateT2Musket.desc } +ent-MobPirateT2MusketPenetrator = { ent-MobPirateT2Musket } + .suffix = Бронебой + .desc = { ent-MobPirateT2Musket.desc } ent-MobPirateT2MachineCannon = ядромётчик пиратов .desc = Пират с ручной пушкой с ленточным питанием... Что?!. ent-MobPirateT2Mech = Большой Ярк @@ -130,3 +142,238 @@ ent-MobPirateT3Boss = Красный Черепень .desc = Тяжёлый боевой экзокостюм СССП разновидности «Дюранда». Медленный, но неумолимый. Вооружён старым пулемётом крупного калибра. Может выдать рывок, выпустить огонь или скрыться в дыму, сопровождая всё жутким смехом. ent-MobPirateT3Tachanka = Тачанка .desc = Пулемёт! Установлен и заряжен! + +# timed despawn variants reuse base names/descriptions +ent-MobPirateT1KnifeTimed = { ent-MobPirateT1Knife } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1Knife.desc } +ent-MobPirateT1MonkeyKnuckleDustersTimed = { ent-MobPirateT1MonkeyKnuckleDusters } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1MonkeyKnuckleDusters.desc } +ent-MobPirateT1PickaxeTimed = { ent-MobPirateT1Pickaxe } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1Pickaxe.desc } +ent-MobPirateT1PistolTimed = { ent-MobPirateT1Pistol } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1Pistol.desc } +ent-MobPirateT1MosinTimed = { ent-MobPirateT1Mosin } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1Mosin.desc } +ent-MobPirateT1PKATimed = { ent-MobPirateT1PKA } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1PKA.desc } +ent-MobPirateT1MonkeyFlareGunTimed = { ent-MobPirateT1MonkeyFlareGun } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1MonkeyFlareGun.desc } +ent-MobPirateT1MonkeyFlareGunCoinTimed = { ent-MobPirateT1MonkeyFlareGunCoin } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1MonkeyFlareGunCoin.desc } +ent-MobPirateT1MonkeyFlareGunIncendiaryTimed = { ent-MobPirateT1MonkeyFlareGunIncendiary } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1MonkeyFlareGunIncendiary.desc } +ent-MobPirateT1MonkeyFlareGunUraniumTimed = { ent-MobPirateT1MonkeyFlareGunUranium } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1MonkeyFlareGunUranium.desc } +ent-MobPirateT1ScrapSMGTimed = { ent-MobPirateT1ScrapSMG } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1ScrapSMG.desc } +ent-MobPirateT1SMGTimed = { ent-MobPirateT1SMG } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1SMG.desc } +ent-MobPirateT1FlintlockTimed = { ent-MobPirateT1Flintlock } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1Flintlock.desc } +ent-MobPirateT1MonkeyFireBombTimed = { ent-MobPirateT1MonkeyFireBomb } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1MonkeyFireBomb.desc } +ent-MobPirateT1MonkeyEDaggerTimed = { ent-MobPirateT1MonkeyEDagger } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1MonkeyEDagger.desc } +ent-MobPirateT1HunterTimed = { ent-MobPirateT1Hunter } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1Hunter.desc } +ent-MobPirateT1HunterSmashTimed = { ent-MobPirateT1HunterSmash } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1HunterSmash.desc } +ent-MobPirateT1BombardierFireTimed = { ent-MobPirateT1BombardierFire } + .suffix = Деспавн 20мин, Зажиг + .desc = { ent-MobPirateT1BombardierFire.desc } +ent-MobPirateT1BombardierGlassTimed = { ent-MobPirateT1BombardierGlass } + .suffix = Деспавн 20мин, Картечь + .desc = { ent-MobPirateT1BombardierGlass.desc } +ent-MobPirateT1BombardierPipeTimed = { ent-MobPirateT1BombardierPipe } + .suffix = Деспавн 20мин, Бомба + .desc = { ent-MobPirateT1BombardierPipe.desc } +ent-MobPirateT1ECutlassTimed = { ent-MobPirateT1ECutlass } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1ECutlass.desc } +ent-MobPirateT1EPickaxeTimed = { ent-MobPirateT1EPickaxe } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1EPickaxe.desc } +ent-MobPirateT1PlasmaCutterTimed = { ent-MobPirateT1PlasmaCutter } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1PlasmaCutter.desc } +ent-MobPirateT1ScrapRifleTimed = { ent-MobPirateT1ScrapRifle } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1ScrapRifle.desc } +ent-MobPirateT1RifleTimed = { ent-MobPirateT1Rifle } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1Rifle.desc } +ent-MobPirateT1BorgAssaultTimed = { ent-MobPirateT1BorgAssault } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1BorgAssault.desc } +ent-MobPirateT1BorgMiningTimed = { ent-MobPirateT1BorgMining } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1BorgMining.desc } +ent-MobPirateT1BorgDerelictTimed = { ent-MobPirateT1BorgDerelict } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1BorgDerelict.desc } +ent-MobPirateT2CutlassTimed = { ent-MobPirateT2Cutlass } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2Cutlass.desc } +ent-MobPirateT2ECutlassTimed = { ent-MobPirateT2ECutlass } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2ECutlass.desc } +ent-MobPirateT2SledgehammerTimed = { ent-MobPirateT2Sledgehammer } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2Sledgehammer.desc } +ent-MobPirateT2GauntletDrillTimed = { ent-MobPirateT2GauntletDrill } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2GauntletDrill.desc } +ent-MobPirateT2ShotgunTimed = { ent-MobPirateT2Shotgun } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2Shotgun.desc } +ent-MobPirateT2ShotgunMiniBallTimed = { ent-MobPirateT2ShotgunMiniBall } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2ShotgunMiniBall.desc } +ent-MobPirateT2ShotgunGlassTimed = { ent-MobPirateT2ShotgunGlass } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2ShotgunGlass.desc } +ent-MobPirateT2MusketTimed = { ent-MobPirateT2Musket } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2Musket.desc } +ent-MobPirateT2MusketEMPTimed = { ent-MobPirateT2MusketEMP } + .suffix = Деспавн 20мин, ЭМИ + .desc = { ent-MobPirateT2Musket.desc } +ent-MobPirateT2MusketBlastTimed = { ent-MobPirateT2MusketBlast } + .suffix = Деспавн 20мин, Взрыв + .desc = { ent-MobPirateT2Musket.desc } +ent-MobPirateT2MusketFragTimed = { ent-MobPirateT2MusketFrag } + .suffix = Деспавн 20мин, Осколки + .desc = { ent-MobPirateT2Musket.desc } +ent-MobPirateT2MusketPenetratorTimed = { ent-MobPirateT2MusketPenetrator } + .suffix = Деспавн 20мин, Бронебой + .desc = { ent-MobPirateT2Musket.desc } +ent-MobPirateT2MachineCannonTimed = { ent-MobPirateT2MachineCannon } + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2MachineCannon.desc } +ent-MobPirateT2DoubleFlintlockTimed = { ent-MobPirateT2DoubleFlintlock } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2DoubleFlintlock.desc } +ent-MobPirateT2DoubleRevolverTimed = { ent-MobPirateT2DoubleRevolver } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2DoubleRevolver.desc } +ent-MobPirateT2RevolverCutlassTimed = { ent-MobPirateT2RevolverCutlass } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2RevolverCutlass.desc } +ent-MobPirateT2GrapeshotTimed = { ent-MobPirateT2Grapeshot } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2Grapeshot.desc } +ent-MobPirateT2CannoballTimed = { ent-MobPirateT2Cannoball } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2Cannoball.desc } +ent-MobPirateT2MechTimed = { ent-MobPirateT2Mech } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2Mech.desc } +ent-MobPirateT2JuggernautTimed = { ent-MobPirateT2Juggernaut } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2Juggernaut.desc } +ent-MobPirateT3BolaTimed = { ent-MobPirateT3Bola } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Bola.desc } +ent-MobPirateT3StunTimed = { ent-MobPirateT3Stun } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Stun.desc } +ent-MobPirateT3Shield1984Timed = { ent-MobPirateT3Shield1984 } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Shield1984.desc } +ent-MobPirateT3ShieldSMGTimed = { ent-MobPirateT3ShieldSMG } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3ShieldSMG.desc } +ent-MobPirateT3DMRTimed = { ent-MobPirateT3DMR } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3DMR.desc } +ent-MobPirateT3Rifle2Timed = { ent-MobPirateT3Rifle2 } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Rifle2.desc } +ent-MobPirateT3RifleTimed = { ent-MobPirateT3Rifle } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Rifle.desc } +ent-MobPirateT3LaserSMGTimed = { ent-MobPirateT3LaserSMG } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3LaserSMG.desc } +ent-MobPirateT3LaserCannonTimed = { ent-MobPirateT3LaserCannon } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3LaserCannon.desc } +ent-MobPirateT3RevolverTimed = { ent-MobPirateT3Revolver } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Revolver.desc } +ent-MobPirateT3SMGTimed = { ent-MobPirateT3SMG } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3SMG.desc } +ent-MobPirateT3L6Timed = { ent-MobPirateT3L6 } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3L6.desc } +ent-MobPirateT3TachankaTimed = { ent-MobPirateT3Tachanka } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Tachanka.desc } +ent-MobPirateT3RPDTimed = { ent-MobPirateT3RPD } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3RPD.desc } +ent-MobPirateT3GrenadierTimed = { ent-MobPirateT3Grenadier } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Grenadier.desc } +ent-MobPirateT3InfiltratorTimed = { ent-MobPirateT3Infiltrator } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Infiltrator.desc } +ent-MobPirateT3SniperTimed = { ent-MobPirateT3Sniper } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Sniper.desc } +ent-MobPirateT1BossTimed = { ent-MobPirateT1Boss } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT1Boss.desc } +ent-MobPirateT2BossTimed = { ent-MobPirateT2Boss } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT2Boss.desc } +ent-MobPirateT3BossTimed = { ent-MobPirateT3Boss } + + .suffix = Деспавн 20мин + .desc = { ent-MobPirateT3Boss.desc } + + diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/misc/implanters.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/misc/implanters.ftl index 6162aefaf6..0ad80d3907 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/misc/implanters.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/misc/implanters.ftl @@ -2,7 +2,7 @@ ent-SmokeScreenImplanter = { ent-Implanter } .desc = { ent-BaseImplantOnlyImplanterSyndi.desc } .suffix = Дым ent-CreepyLaughImplanter = { ent-Implanter } - .suffix = Санрайз, Смех + .suffix = Смех ужаса .desc = { ent-BaseImplantOnlyImplanterSyndi.desc } ent-RadioImplanterFreelance = { ent-Implanter } .suffix = Фриланс, радио @@ -11,5 +11,5 @@ ent-DeathRattleImplanterFreelance = { ent-Implanter } .suffix = Фриланс, предсмертный хрип .desc = { ent-BaseImplantOnlyImplanterSyndi.desc } ent-ScramImplanterProto = { ent-ScramImplanter } - .suffix = прототип + .suffix = прототип побег .desc = { ent-ScramImplanter.desc } diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/caseless_rifle.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/caseless_rifle.ftl index 765e56f763..59053b4159 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/caseless_rifle.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/caseless_rifle.ftl @@ -1,6 +1,6 @@ -ent-BaseMagazinePistolCaselessRifleExtended = расширенный пистолетный магазин (.20 безгильзовый) +ent-BaseMagazinePistolCaselessRifleExtended = расширенный пистолетный магазин (.25 безгильзовый) .desc = { ent-BaseMagazinePistolCaselessRifle.desc } ent-MagazineCannonBallMini = чемодан с ядрами .desc = Чемодан для аккуратного хранения ядер от пиратской пушки с ленточной подачей. -ent-MagazinePistolSubMachineGunCaselessExtended = Расширенный магазин (.20 безгильзовые) +ent-MagazinePistolSubMachineGunCaselessExtended = Расширенный магазин (.25 безгильзовые) .desc = { ent-BaseMagazineLightRifle.desc } diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/sniper.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/sniper.ftl index 0647acab6b..1709d333a6 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/sniper.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/ammunition/magazines/sniper.ftl @@ -14,23 +14,24 @@ ent-MagazineBauer127Frag = магазин (15мм осколочные) .desc = Большой магазин для тяжёлого оружия, вмещает патроны 15x115 мм осколочного действия. ent-MagazineBauer127Emp = магазин (15мм ЭМИ) .desc = Большой магазин для тяжёлого оружия, вмещает патроны 15x115 мм ЭМИ действия. -ent-BaseMagazineDragunov = магазин Драгунова (7,62ммR) +ent-BaseMagazineDragunov = магазин (7,62ммR) .desc = { ent-BaseItem.desc } -ent-MagazineDragunovExtended = магазин Драгунова (7,62ммR) - .suffix = Восход +ent-MagazineDragunovExtended = магазин (7,62ммR) .desc = { ent-BaseMagazineDragunov.desc } -ent-MagazineDragunov = магазин Драгунова (7,62ммR) - .suffix = Восход +ent-MagazineDragunovSP = магазин (7,62ммR SP) + .desc = { ent-BaseMagazineDragunov.desc } +ent-MagazineDragunovHP = магазин (7,62ммR HP) + .desc = { ent-BaseMagazineDragunov.desc } +ent-MagazineDragunovFMJ = магазин (7,62ммR FMJ) + .desc = { ent-BaseMagazineDragunov.desc } +ent-MagazineDragunov = магазин (7,62ммR) .desc = { ent-BaseMagazineDragunov.desc } ent-MagazineDragunovEmpty = магазин (7,62ммR любой) - .suffix = Восход, пустой + .suffix = пустой .desc = { ent-MagazineDragunov.desc } ent-MagazineDragunovIncendiary = магазин (7,62ммR зажигательные) - .suffix = Восход .desc = { ent-MagazineDragunov.desc } ent-MagazineDragunovPractice = магазин (7,62ммR учебные) - .suffix = Восход .desc = { ent-BaseMagazineDragunov.desc } ent-MagazineDragunovUranium = магазин (7,62ммR урановые) - .suffix = Восход .desc = { ent-BaseMagazineDragunov.desc } diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/pistols/pistols.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/pistols/pistols.ftl index 2b753e7e7d..2459e8ab7e 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/pistols/pistols.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/weapons/guns/pistols/pistols.ftl @@ -27,7 +27,7 @@ ent-WeaponPistolDeagleMetus = Desert Eagle Metus .desc = На рукояти потёртости от старых рук, тяжёлое и уверенное, как приговор, что не раз выносился без разбирательств. .suffix = Санрайз ent-WeaponRevolverSpearhead = Авангард - .desc = Громоздкий авторевольвер револьвер, который иногда используется штурмовыми отрядами и офицерами спецподразделений, а также гражданскими правоохранительными органами. Стреляет патронами .45 Магнум. + .desc = Громоздкий авторевольвер, который иногда используется штурмовыми отрядами и офицерами спецподразделений, а также гражданскими правоохранительными органами. Стреляет патронами .45 Магнум. ent-WeaponRevolverSpearheadBlack = Авангард .desc = { ent-WeaponRevolverSpearhead.desc } ent-WeaponPistolM1984 = D1984 diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/misc.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/misc.ftl index 21e78d2ec2..bd47449f9e 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/misc.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/misc.ftl @@ -78,6 +78,12 @@ ent-CableDet = взрывной шнур ent-CableDetStack = взрывной шнур .desc = Взрывной шнур, чтобы убрать всё, что стоит на пути. .suffix = Полный +ent-CableDetStack10 = { ent-CableDetStack } + .desc = { ent-CableDetStack.desc } + .suffix = 10 +ent-CableDetStack1 = { ent-CableDetStack } + .desc = { ent-CableDetStack.desc } + .suffix = 1 ent-ParcelWrapAdmeme = блюспейс-обёртка .desc = Бумага для упаковки предметов при транспортировке. Эта, кажется, способна прятать внутри подозрительно много пространства. diff --git a/Resources/Locale/ru-RU/_strings/_sunrise/guidebook/guides.ftl b/Resources/Locale/ru-RU/_strings/_sunrise/guidebook/guides.ftl index 137d991880..48814866f8 100644 --- a/Resources/Locale/ru-RU/_strings/_sunrise/guidebook/guides.ftl +++ b/Resources/Locale/ru-RU/_strings/_sunrise/guidebook/guides.ftl @@ -2,6 +2,7 @@ guide-entry-ammunition = Боеприпасы guide-entry-improvised-grenade-casing = Самодельная граната (корпус) +guide-entry-detonator-triggers = Взрывной шнур и триггеры guide-entry-disease = Разумная болезнь guide-entry-expeditions = Экспедиции diff --git a/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl index 214613b9b8..6c11a2a434 100644 --- a/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl @@ -33,6 +33,10 @@ uplink-magazine-bauer127-extended-desc = Магазин для Bauer127. Сод uplink-magazine-dl6902-name = Короб-магазин DL6902 (7,62мм) uplink-magazine-dl6902-desc = Магазин для Dl6902. Содержит 200 патронов калибра 7,62х39мм. uplink-magazine-dragunov-desc = Магазин для Драгунова. Содержит 10 патронов калибра 7,62х54R. +uplink-magazine-dragunov-sp-desc = Магазин для Драгунова. Содержит 10 патронов SP калибра 7,62х54R. +uplink-magazine-dragunov-hp-desc = Магазин для Драгунова. Содержит 10 патронов HP калибра 7,62х54R. +uplink-magazine-dragunov-fmj-desc = Магазин для Драгунова. Содержит 10 патронов FMJ калибра 7,62х54R. +uplink-magazine-dragunov-incendiary-desc = Магазин для Драгунова. Содержит 10 зажигательных патронов калибра 7,62х54R. uplink-magazine-dragunov-extended-desc = Магазин для Драгунова. Содержит 20 патронов калибра 7,62х54R. uplink-magazine-bulldog-uraniumslug-desc = Барабанный магазин на 8 урановых пулевых патронов. Совместим с "Бульдогом". uplink-magazine-bulldog-uranium-desc = Барабанный магазин на 8 патронов урановой дроби, легко поражает экипаж нанотрейзен лучевой болезнью. @@ -46,10 +50,10 @@ uplink-skm24-ammo-desc = Винтовочный магазин на 30 патр uplink-estoc-ammo-name = Магазин для винтовки (.20) uplink-estoc-ammo-desc = Магазин на 25 патронов. Совместим с Эсток. ## Weapon (Sunrise) -uplink-c40r-name = C-40r -uplink-c40r-desc = Безгильзовый пистолет-пулемёт C-40r, великолепно работает на ближней дистанции. uplink-c40r-bundle-name = Набор "C-40r" -uplink-c40r-bundle-desc = Включает C-40r вместе с несколькими магазинами для быстрой перестрелки. +uplink-c40r-bundle-desc = Более старый: Культовый пистолет-пулемет C-40r в комплекте с тремя магазинами тяжелого калибра. +uplink-c40r-name = C-40r биокодированный +uplink-c40r-desc = Культовый пистолет-пулемет C-40r в комплекте с коробкой стандартных патронов 40-го калибра. uplink-magazine-127-desc = Магазин Bauer SR-127 на 7 патронов предназначеных для уничтожения мехов, киборгов или стркутур таких как решетки и окна, пары попаданий достаточно для пролома стены. uplink-magazine-127pen-desc = Магазин Bauer SR-127 на 7 патронов предназначеных для ликвидации защищенных противников а так же целей за укрытиями и стенами, прекрасно сочетаются с термальным зрением. @@ -203,7 +207,7 @@ uplink-smoke-screen-implanter-desc = Создает небольшое обла uplink-creepy-laugh-implanter-name = Имплантер Жуткого Смеха uplink-creepy-laugh-implanter-desc = Аудиоимплант, воспроизводящий фирменный смех синди-киборга. Раздражает, пугает, стиль гарантирован. uplink-scram-implanter-proto-name = Имплантер Прототип-Побег -uplink-scram-implanter-proto-desc = Имплант на 2 заряда с огромной перезарядкой в 20 минут. Телепортирует вас в крупном радиусе, пытается перенести на свободную клетку, иногда может сбоить. Он точно безопасен? +uplink-scram-implanter-proto-desc = Имплант с й зарядом и огромной перезарядкой в 15 минут. Телепортирует вас в крупном радиусе, пытается перенести на свободную клетку, иногда может сбоить. Он точно безопасен? ## Ammo Kits and Bundle diff --git a/Resources/Locale/ru-RU/_strings/ghost/roles/ghost-role-component.ftl b/Resources/Locale/ru-RU/_strings/ghost/roles/ghost-role-component.ftl index 11213a6e11..82e8c87f3e 100644 --- a/Resources/Locale/ru-RU/_strings/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/ru-RU/_strings/ghost/roles/ghost-role-component.ftl @@ -1,4 +1,4 @@ -# also used in MakeGhostRuleWindow and MakeGhostRoleCommand +# also used in MakeGhostRuleWindow and MakeGhostRoleCommand ghost-role-component-default-rules = Вы не помните ничего из своей предыдущей жизни, если администратор не сказал вам обратное. Вы не помните ничего из своей предыдущей жизни и не помните ничего из того, что узнали, будучи призраком. @@ -292,3 +292,9 @@ ghost-role-information-artifact-description = Осуществляйте сво ghost-role-information-syndie-assaultborg-name = Штурмовой киборг Синдиката ghost-role-information-syndie-assaultborg-description = Ядерным оперативникам требуется подкрепление. Вы, хладнокремниевая машина для убийств, будете им помогать. Больше дакки! ghost-role-information-expedition-pirate-rules = Вы [color=red][bold]Умный Пират[/bold][/color] более умный ваших товарищей, не дайте утилизаторам вас ограбить. Вам [color=red][bold]запрещено[/bold][/color] покидать комплекс и саму экспедицию на шаттле. +ghost-role-information-rules-expedition-pirate-antagonist = + Вы — [color=red][bold]NPC-пират[/bold][/color]. Ваши намерения вредят станции и её экипажу. + Вы должны [bold]защищать[/bold] свою территорию и сотрудничать с другими пиратами. + Вам [color=green][bold]можно[/bold][/color] покинуть экспедицию на шаттле, но [color=red][bold]только[/bold][/color] если [color=orange][bold]утилизаторы[/bold][/color] (живые или мёртвые) находятся на шаттле. + Помните, что вы как [color=red][bold]NPC-пират[/bold][/color] [bold]ограничены[/bold] временем: через [color=red][bold]20 минут[/bold][/color] вас автоматически переместят в наблюдателя. + Вы не помните ничего из своей предыдущей жизни и не помните ничего из того, что узнали, будучи призраком. diff --git a/Resources/Locale/ru-RU/_strings/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/_strings/store/uplink-catalog.ftl index c2bc9807d2..84aeaaa8a5 100644 --- a/Resources/Locale/ru-RU/_strings/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/_strings/store/uplink-catalog.ftl @@ -211,16 +211,10 @@ uplink-sniper-bundle-name = Набор снайпера uplink-sniper-bundle-desc = Неприметный чемодан, в котором находятся Христов, 10 запасных патронов и удобная маскировка, маскировка обладает умеренной базовой защитой. uplink-c20r-bundle-name = Набор "C-20r" uplink-c20r-bundle-desc = Старый добрый: Классический пистолет-пулемёт C-20r в комплекте с тремя магазинами. -uplink-c40r-bundle-name = Набор "C-40r" -uplink-c40r-bundle-desc = Более старый: Культовый пистолет-пулемет C-40r в комплекте с тремя магазинами тяжелого калибра. -uplink-c40r-name = C-40r биокодированный -uplink-c40r-desc = Культовый пистолет-пулемет C-40r в комплекте с коробкой стандартных патронов 40-го калибра. uplink-bulldog-bundle-name = Набор "Бульдог" uplink-bulldog-bundle-desc = Простой и надёжный: содержит популярный дробовик Бульдог, барабан пуль и три барабана дроби а так же термальный визор. uplink-grenade-launcher-china-lake-name = Набор "China-Lake" uplink-grenade-launcher-china-lake-desc = Старый гранатомёт China-Lake и сумкой запасных снарядов. Может стрелять как контактными, так и неконтактными гранатами. -uplink-grenade-launcher-m79-bundle-name = Набор "М79" -uplink-grenade-launcher-m79-bundle-desc = Набор однозарядного гранатомёта вместе с сумкой запасных снарядов, чтобы начать гранатомётную вечеринку в джунглях. uplink-grenade-launcher-gl70-name = Набор "GL-70" uplink-grenade-launcher-gl70-desc = Набор с многозарядным автоматическим гранатомётом с барабаном на 6 снарядов и сумкой запасных снарядов. Может стрелять как контактными, так и неконтактными гранатами. uplink-l6-saw-bundle-name = Набор "L6 Saw" diff --git a/Resources/Maps/_Sunrise/Shuttles/Salvage/oredozer.yml b/Resources/Maps/_Sunrise/Shuttles/Salvage/oredozer.yml index 3ddb54af9c..69ccf05437 100644 --- a/Resources/Maps/_Sunrise/Shuttles/Salvage/oredozer.yml +++ b/Resources/Maps/_Sunrise/Shuttles/Salvage/oredozer.yml @@ -655,15 +655,7 @@ entities: - type: GridPathfinding - type: ImplicitRoof - type: ExplosionAirtightGrid -- proto: AirlockExternalGlassNukeopLocked - entities: - - uid: 344 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,2.5 - parent: 1 -- proto: AirlockExternalNukeopLocked +- proto: AirlockExternalGlassCargoLocked entities: - uid: 83 components: @@ -739,6 +731,12 @@ entities: rot: -1.5707963267948966 rad pos: -4.5,-6.5 parent: 1 + - uid: 344 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -8.5,2.5 + parent: 1 - proto: AirlockSalvageLocked entities: - uid: 4 diff --git a/Resources/Prototypes/Actions/types.yml b/Resources/Prototypes/Actions/types.yml index 9aa89775a2..f8a2e28516 100644 --- a/Resources/Prototypes/Actions/types.yml +++ b/Resources/Prototypes/Actions/types.yml @@ -148,10 +148,9 @@ maxCharges: 3 # Sunrise-Start - type: AutoRecharge - rechargeDuration: 600 + rechargeDuration: 300 # Sunrise-End - type: Action - useDelay: 5 # Sunrise-Edit checkCanInteract: false itemIconStyle: BigAction priority: -20 diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml index 20167087b0..140413aeef 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml @@ -34,9 +34,6 @@ - type: ArmorSparkEffect #starlight - type: StaminaResistance # Sunrise-Add damageCoefficient: 0.9 # Sunrise-Add - - type: Item - shape: - - 0,0,2,2 # Sunrise-End #Standard armor vest, allowed for security and bartenders diff --git a/Resources/Prototypes/Entities/Objects/Power/powercells.yml b/Resources/Prototypes/Entities/Objects/Power/powercells.yml index 9e01914d12..268fe946b8 100644 --- a/Resources/Prototypes/Entities/Objects/Power/powercells.yml +++ b/Resources/Prototypes/Entities/Objects/Power/powercells.yml @@ -300,7 +300,7 @@ walkModifier: 0.8 sprintModifier: 0.8 - type: HeldSpeedModifier - - type: EmpImmune # Мехи теперь имеют прямой урон от ЭМИ. + #- type: EmpImmune # Мехи теперь имеют прямой урон от ЭМИ. Sunrise-Edit: Комент до Фикса Вайтлистов батарей - type: entity id: PowerCageSmall @@ -355,6 +355,7 @@ - type: Battery maxCharge: 6200 startingCharge: 6200 + - type: EmpImmune # Sunrise-Edit: "Эдит" до Фикса Вайтлистов батарей, потом удалим - type: entity id: PowerCageSmallEmpty diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/Weapons/Gun/industrial.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/Weapons/Gun/industrial.yml index 30a24f8188..85f5faa50d 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/Weapons/Gun/industrial.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/Weapons/Gun/industrial.yml @@ -40,7 +40,7 @@ sprite: Objects/Specific/Mech/mecha_equipment.rsi state: mecha_plasmacutter - type: Gun - fireRate: 0.35 + fireRate: 0.45 projectileSpeed: 22 selectedMode: SemiAuto availableModes: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml index dfa789eb71..3802934502 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml @@ -235,6 +235,7 @@ name: Ripley APLU description: Versatile and lightly armored, the Ripley is useful for almost any heavy work scenario. The "APLU" stands for Autonomous Power Loading Unit. components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true @@ -292,6 +293,7 @@ name: Ripley APLU MK-II description: The "MK-II" has a pressurized cabin for space operations, but the added weight has slowed it down. components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true @@ -421,6 +423,7 @@ name: H.O.N.K. description: "Produced by \"Tyranny of Honk, INC\", this exosuit is designed as heavy clown-support. Used to spread the fun and joy of life. HONK!" components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true @@ -478,6 +481,7 @@ name: HAMTR description: "An experimental mech which uses a brain–computer interface to connect directly to a hamsters brain." components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true @@ -534,6 +538,7 @@ name: Vim description: A miniature exosuit from Nanotrasen, developed to let the irreplaceable station pets live a little longer. components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true @@ -623,6 +628,7 @@ name: Gygax description: While lightly armored, the Gygax has incredible mobility thanks to its ability that lets it smash through walls at high speeds. components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true @@ -690,6 +696,7 @@ name: Durand description: A slow but beefy combat exosuit that is extra scary in confined spaces due to its punches. Xenos hate it! components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true @@ -765,6 +772,7 @@ name: Marauder description: Looks like we're all saved. # ERT mech components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true @@ -854,6 +862,7 @@ name: Seraph description: That's the last thing you'll see. components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true @@ -946,6 +955,7 @@ name: Dark Gygax description: A modified Gygax used for nefarious purposes. On the back of the armor plate there is an inscription "Cybersun Inc." components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true @@ -1037,6 +1047,7 @@ name: Mauler description: A modified Marauder used by the Syndicate that's not as maneuverable as the Dark Gygax, but it makes up for that in armor and sheer firepower. On the back of the armor plate there is an inscription "Cybersun Inc." components: + - type: FootprintEmitter # Sunrise-Add - type: Sprite drawdepth: Mobs noRot: true diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/cord.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/cord.yml index 4b91c444b7..6559697053 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/cord.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/cord.yml @@ -75,6 +75,11 @@ # - Window # - Wall # - type: StickyVisualizer + # Sunrise-Start + - type: GuideHelp + guides: + - SunriseDetonatorTriggers + # Sunrise-End - type: entity parent: CableDetStack diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/detonator.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/detonator.yml index d92cf1f77b..03c6de5c88 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/detonator.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/detonator.yml @@ -47,6 +47,11 @@ Unprimed: { state: complete } - type: StaticPrice price: 25 + # Sunrise-Start + - type: GuideHelp + guides: + - SunriseDetonatorTriggers + # Sunrise-End - type: entity parent: EmptyDetonator diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/base_cartridge.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/base_cartridge.yml index 2a62ceb284..6998658b1f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/base_cartridge.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/base_cartridge.yml @@ -40,3 +40,8 @@ volume: -1 - type: StaticPrice price: 1 + # Sunrise-Start + - type: GuideHelp + guides: + - SunriseAmmunition + # Sunrise-End diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index accb42e125..0ee4492d47 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -555,7 +555,7 @@ damage: types: Blunt: 25 - Structural: 30 + Structural: 20 # Short lifespan - type: TimedDespawn lifetime: 0.275 # roughly 6.5 tiles diff --git a/Resources/Prototypes/Entities/Stations/base.yml b/Resources/Prototypes/Entities/Stations/base.yml index 429c193585..0bd22ec639 100644 --- a/Resources/Prototypes/Entities/Stations/base.yml +++ b/Resources/Prototypes/Entities/Stations/base.yml @@ -124,6 +124,9 @@ - type: Gravity enabled: true inherent: true + - type: IFF + flags: HideLabel + color: "#d67e27" protos: - VGRoid diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml index 88a5289984..56cc84ecbd 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml @@ -1,6 +1,6 @@ - type: entity id: Airlock - parent: BaseStructure + parent: [BaseStructure, BaseDeltaPressurePlasma] name: airlock description: It opens, it closes, and maybe crushes you. components: @@ -205,7 +205,7 @@ - type: entity id: AirlockGlass - parent: Airlock + parent: [Airlock, BaseDeltaPressureReinforcedPlasmaQuarter] name: glass airlock components: - type: MeleeSound diff --git a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml index 0a1d1bd9c3..335e1512d7 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml @@ -39,7 +39,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 120 + damage: 75 # Sunrise-Edit behaviors: - !type:DoActsBehavior acts: ["Destruction"] diff --git a/Resources/Prototypes/Entities/Structures/Walls/walls.yml b/Resources/Prototypes/Entities/Structures/Walls/walls.yml index daf1b4349f..f250387b56 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/walls.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/walls.yml @@ -1007,7 +1007,7 @@ density: 2000 - type: entity - parent: BaseWall + parent: [BaseWall, BaseDeltaPressurePlasma] id: WallSolid name: solid wall components: diff --git a/Resources/Prototypes/GameRules/roundstart.yml b/Resources/Prototypes/GameRules/roundstart.yml index 006f05d97e..ec9039ae6d 100644 --- a/Resources/Prototypes/GameRules/roundstart.yml +++ b/Resources/Prototypes/GameRules/roundstart.yml @@ -257,7 +257,7 @@ selectionTime: IntraPlayerSpawn definitions: - prefRoles: [ Traitor ] - max: 8 + max: 13 # Sunrise-Edit playerRatio: 10 pickCommandStaff: true # Sunrise-Edit maxCommandStaff: 1 # Sunrise-Edit diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/syndicate.yml b/Resources/Prototypes/Recipes/Lathes/Packs/syndicate.yml index 7fac9e557a..0b3ff4cbf6 100644 --- a/Resources/Prototypes/Recipes/Lathes/Packs/syndicate.yml +++ b/Resources/Prototypes/Recipes/Lathes/Packs/syndicate.yml @@ -8,8 +8,15 @@ - MagazineShotgunEmpty - MagazineShotgunSlug - MagazinePistolCaselessRifle + - MagazinePistolSubMachineGunCaselessExtended - MagazineBoxAntiMateriel # Sunrise-start - MagazineRifleBoxSP - MagazineRifleBoxFMJ + - MagazinePistol40SubMachineGunSP + - MagazinePistol40SubMachineGunHP + - MagazinePistol40SubMachineGunFMJ + - MagazineDragunovSP + - MagazineDragunovHP + - MagazineDragunovFMJ # Sunrise-end diff --git a/Resources/Prototypes/_Sunrise/Actions/implants.yml b/Resources/Prototypes/_Sunrise/Actions/implants.yml index 1896585b7b..80fd70d62f 100644 --- a/Resources/Prototypes/_Sunrise/Actions/implants.yml +++ b/Resources/Prototypes/_Sunrise/Actions/implants.yml @@ -5,9 +5,9 @@ description: Randomly teleports you within a large distance. components: - type: LimitedCharges - maxCharges: 2 + maxCharges: 1 - type: AutoRecharge - rechargeDuration: 1200 + rechargeDuration: 900 - type: Action checkCanInteract: false useDelay: 10 diff --git a/Resources/Prototypes/_Sunrise/Catalog/Fills/Boxes/syndicate.yml b/Resources/Prototypes/_Sunrise/Catalog/Fills/Boxes/syndicate.yml index 1814fc044d..92589a8180 100644 --- a/Resources/Prototypes/_Sunrise/Catalog/Fills/Boxes/syndicate.yml +++ b/Resources/Prototypes/_Sunrise/Catalog/Fills/Boxes/syndicate.yml @@ -137,7 +137,7 @@ containers: storagebase: !type:AllSelector children: - - id: MagazineDragunov + - id: MagazineDragunovSP amount: 2 - id: MagazineDragunovExtended amount: 2 @@ -449,3 +449,4 @@ orGroup: RapierToxin - id: ChemistryBottleLead orGroup: RapierToxin + diff --git a/Resources/Prototypes/_Sunrise/Catalog/Fills/Crates/ussp.yml b/Resources/Prototypes/_Sunrise/Catalog/Fills/Crates/ussp.yml index c096b7c73b..205fada56a 100644 --- a/Resources/Prototypes/_Sunrise/Catalog/Fills/Crates/ussp.yml +++ b/Resources/Prototypes/_Sunrise/Catalog/Fills/Crates/ussp.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity parent: CrateGeneric id: CrateAmmunitionSmall name: old small ammunition crate @@ -69,7 +69,7 @@ - type: StorageFill contents: - id: WeaponSniperDragunov - - id: MagazineDragunov + - id: MagazineDragunovSP amount: 2 - id: MagazineDragunovIncendiary amount: 2 @@ -231,3 +231,4 @@ - Recyclable - WrappedWeapon + diff --git a/Resources/Prototypes/_Sunrise/Catalog/Fills/Items/briefcases.yml b/Resources/Prototypes/_Sunrise/Catalog/Fills/Items/briefcases.yml index e465c79895..7d967ac55b 100644 --- a/Resources/Prototypes/_Sunrise/Catalog/Fills/Items/briefcases.yml +++ b/Resources/Prototypes/_Sunrise/Catalog/Fills/Items/briefcases.yml @@ -52,8 +52,9 @@ children: - id: WeaponSniperDragunov - id: MagazineDragunovIncendiary - - id: MagazineDragunovUranium - - id: MagazineDragunov + - id: MagazineDragunovSP + - id: MagazineDragunovHP + - id: MagazineDragunovFMJ - type: entity id: BriefcaseWeaponM79Filled diff --git a/Resources/Prototypes/_Sunrise/Catalog/VendingMachines/Inventories/liberation.yml b/Resources/Prototypes/_Sunrise/Catalog/VendingMachines/Inventories/liberation.yml index 1f9d53a9c0..342455eac2 100644 --- a/Resources/Prototypes/_Sunrise/Catalog/VendingMachines/Inventories/liberation.yml +++ b/Resources/Prototypes/_Sunrise/Catalog/VendingMachines/Inventories/liberation.yml @@ -342,7 +342,7 @@ MagazineBoxHeavyRifleIncendiary: 3 MagazineBoxHeavyRifleUranium: 3 MagazineBR64: 5 - MagazineDragunov: 5 + MagazineDragunovSP: 5 MagazineBauer127: 5 MagazineBoxAntiMateriel: 3 # LMG Ammo diff --git a/Resources/Prototypes/_Sunrise/Catalog/pirate_uplink_catalog.yml b/Resources/Prototypes/_Sunrise/Catalog/pirate_uplink_catalog.yml index 5bc74dac25..8650c38fec 100644 --- a/Resources/Prototypes/_Sunrise/Catalog/pirate_uplink_catalog.yml +++ b/Resources/Prototypes/_Sunrise/Catalog/pirate_uplink_catalog.yml @@ -1127,7 +1127,7 @@ id: UplinkPirateMagDragunov description: uplink-magazine-dragunov-desc icon: { sprite: _Sunrise/Objects/Weapons/Guns/Ammunition/Magazines/Rifle/dragunov_mag.rsi, state: base } - productEntity: MagazineDragunov + productEntity: MagazineDragunovSP cost: Doubloon: 6 categories: diff --git a/Resources/Prototypes/_Sunrise/Catalog/sponsor_uplink_catalog.yml b/Resources/Prototypes/_Sunrise/Catalog/sponsor_uplink_catalog.yml index e720113808..85e5a6f212 100644 --- a/Resources/Prototypes/_Sunrise/Catalog/sponsor_uplink_catalog.yml +++ b/Resources/Prototypes/_Sunrise/Catalog/sponsor_uplink_catalog.yml @@ -1316,7 +1316,7 @@ name: uplink-sunrise-clothing-neck-cloak-black-sec-name productEntity: ClothingNeckCloakBlackSec cost: - Suntick: 15 + Suntick: 20 categories: - SecurityThings conditions: @@ -1331,22 +1331,7 @@ name: uplink-sunrise-weapon-disabler-name productEntity: WeaponDisabler cost: - Suntick: 10 - categories: - - SecurityThings - conditions: - - !type:ListingLimitedStockCondition - stock: 1 - - !type:BuyerDepartmentCondition - whitelist: - - Security - -- type: listing - id: UplinkSunriseClothingOuterArmorBulletproof - name: uplink-sunrise-clothing-outer-armor-bulletproof-name - productEntity: ClothingOuterArmorBulletproof - cost: - Suntick: 10 + Suntick: 15 categories: - SecurityThings conditions: diff --git a/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml b/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml index a241acf738..32aa7e563a 100644 --- a/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml @@ -48,6 +48,9 @@ productEntity: PouchAmmo categories: - UplinkWearables + conditions: + - !type:ListingLimitedStockCondition + stock: 2 - type: listing id: UplinkPouchExplosive @@ -512,14 +515,44 @@ - type: listing id: UplinkMagazineDragunov - description: uplink-magazine-dragunov-desc + description: uplink-magazine-dragunov-sp-desc icon: { sprite: _Sunrise/Objects/Weapons/Guns/Ammunition/Magazines/Rifle/dragunov_mag.rsi, state: base } - productEntity: MagazineDragunov + productEntity: MagazineDragunovSP cost: Telecrystal: 1 categories: - UplinkAmmo +- type: listing + id: UplinkMagazineDragunovHP + description: uplink-magazine-dragunov-hp-desc + icon: { sprite: _Sunrise/Objects/Weapons/Guns/Ammunition/Magazines/Rifle/dragunov_mag.rsi, state: base } + productEntity: MagazineDragunovHP + cost: + Telecrystal: 1 + categories: + - UplinkAmmo + +- type: listing + id: UplinkMagazineDragunovFMJ + description: uplink-magazine-dragunov-fmj-desc + icon: { sprite: _Sunrise/Objects/Weapons/Guns/Ammunition/Magazines/Rifle/dragunov_mag.rsi, state: base } + productEntity: MagazineDragunovFMJ + cost: + Telecrystal: 1 + categories: + - UplinkAmmo + +- type: listing + id: UplinkMagazineDragunovIncendiary + description: uplink-magazine-dragunov-incendiary-desc + icon: { sprite: _Sunrise/Objects/Weapons/Guns/Ammunition/Magazines/Rifle/dragunov_mag.rsi, state: base } + productEntity: MagazineDragunovIncendiary + cost: + Telecrystal: 2 + categories: + - UplinkAmmo + - type: listing id: UplinkMagazineDragunovExtended description: uplink-magazine-dragunov-extended-desc @@ -819,12 +852,9 @@ id: UplinkBoomboxBundle name: uplink-music-boombox-name description: uplink-music-boombox-desc - productEntity: ClothingBackpackDuffelBoomboxBundle - discountCategory: usualDiscounts - discountDownTo: - Telecrystal: 2 + productEntity: BoomboxSyndie cost: - Telecrystal: 4 + Telecrystal: 2 categories: - UplinkPointless @@ -2003,7 +2033,7 @@ # Implats - type: listing - id: UplinkSmokeScreenImplanter #PR Wiz #31782 + id: UplinkSmokeScreenImplanter name: uplink-smoke-screen-implanter-name description: uplink-smoke-screen-implanter-desc icon: { sprite: Objects/Weapons/Grenades/smoke.rsi, state: icon } @@ -2051,9 +2081,9 @@ productEntity: LauncherCreamPieFake discountCategory: usualDiscounts discountDownTo: - Telecrystal: 6 + Telecrystal: 4 cost: - Telecrystal: 8 + Telecrystal: 5 categories: - UplinkJob conditions: @@ -2067,7 +2097,7 @@ description: uplink-heavy-cleanade-desc productEntity: CleanerGrenadeAcidBox cost: - Telecrystal: 4 + Telecrystal: 3 categories: - UplinkJob conditions: @@ -2152,9 +2182,9 @@ productEntity: LauncherSyringeRapid discountCategory: rareDiscounts discountDownTo: - Telecrystal: 2 + Telecrystal: 1 cost: - Telecrystal: 3 + Telecrystal: 2 categories: - UplinkJob conditions: diff --git a/Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/armor.yml b/Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/armor.yml index 1b0957c284..26f4f38b99 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/armor.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/armor.yml @@ -362,7 +362,7 @@ parent: ClothingOuterArmorBasic id: ClothingOuterArmorPlate name: plate carrier - description: A standard Type II armored vest that provides good protection against bullets and lasers with the help of a plate inserted in the back and front, but not much else. + description: A standard Type II armored vest that provides good protection against bullets with the help of a plate inserted in the back and front, but not much else. components: - type: Pierceable level: Metal diff --git a/Resources/Prototypes/_Sunrise/Entities/Effects/overlays.yml b/Resources/Prototypes/_Sunrise/Entities/Effects/overlays.yml index 6fa3b673c2..073290d031 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Effects/overlays.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Effects/overlays.yml @@ -27,8 +27,8 @@ components: - type: PointLight color: "#D6E4FF" - energy: 0.1 - radius: 7 + energy: 0.05 + radius: 6 softness: 20 - type: entity diff --git a/Resources/Prototypes/_Sunrise/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/_Sunrise/Entities/Mobs/Cyborgs/borg_chassis.yml index 15ff9fa825..f8e904e4a5 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Mobs/Cyborgs/borg_chassis.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -7,6 +7,9 @@ selectedBorgType: security - type: Loadout prototypes: [ BorgArmorSiliconLoadoutMk2 ] + - type: Tag + tags: + - NoPaint - type: entity id: BorgChassisPeace diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/prunks.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/prunks.yml index 366fe91af1..6db93a3fe6 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/prunks.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/prunks.yml @@ -66,6 +66,9 @@ parent: ToySword components: - type: Wieldable + - type: ItemToggle + onUse: false + onActivate: false - type: Sprite sprite: Objects/Weapons/Melee/e_sword_double.rsi layers: diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml index 457f3d5899..472eb2ed1b 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml @@ -331,6 +331,9 @@ containers: mech-battery-slot: - PowerCageMedium + - type: Tag + tags: + - DoorBumpOpener # No paint unique ripley # Ripley MK-II "Death" - type: entity diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Ammunition/Magazines/sniper.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Ammunition/Magazines/sniper.yml index bdd87ef33d..339092f9c2 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Ammunition/Magazines/sniper.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Ammunition/Magazines/sniper.yml @@ -264,13 +264,67 @@ - state: inhand-right-mag - type: entity - id: MagazineDragunov - name: "magazine Dragunov (7,62mmR)" + id: MagazineDragunovSP + name: "magazine Dragunov (7,62mmR SP)" suffix: Sunrise parent: BaseMagazineDragunov components: - type: BallisticAmmoProvider proto: CartridgeHeavyRifleRSP + - type: Sprite + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - state: stripe + color: "#575EF5" + - type: Item + inhandVisuals: + left: + - state: inhand-left-mag + - state: inhand-left-stripe + color: "#575EF5" + right: + - state: inhand-right-mag + - state: inhand-right-stripe + color: "#575EF5" + +- type: entity + id: MagazineDragunovHP + name: "magazine Dragunov (7,62mmR HP)" + suffix: Sunrise + parent: BaseMagazineDragunov + components: + - type: BallisticAmmoProvider + proto: CartridgeHeavyRifleRHP + - type: Sprite + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - state: stripe + color: "#F5514C" + - type: Item + inhandVisuals: + left: + - state: inhand-left-mag + - state: inhand-left-stripe + color: "#F5514C" + right: + - state: inhand-right-mag + - state: inhand-right-stripe + color: "#F5514C" + +- type: entity + id: MagazineDragunovFMJ + name: "magazine Dragunov (7,62mmR FMJ)" + suffix: Sunrise + parent: BaseMagazineDragunov + components: + - type: BallisticAmmoProvider + proto: CartridgeHeavyRifleRFMJ - type: Sprite layers: - state: base @@ -288,7 +342,7 @@ id: MagazineDragunovEmpty name: "magazine (7,62mmR any)" suffix: Sunrise, empty - parent: MagazineDragunov + parent: MagazineDragunovSP components: - type: BallisticAmmoProvider proto: null @@ -309,7 +363,7 @@ id: MagazineDragunovIncendiary name: "magazine (7,62mmR incendiary)" suffix: Sunrise - parent: MagazineDragunov + parent: MagazineDragunovSP components: - type: BallisticAmmoProvider proto: CartridgeHeavyRifleRIncendiary diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index a288c98f60..bbfeb2bb27 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -912,9 +912,9 @@ impactEffect: BulletImpactEffectKinetic damage: types: - Heat: 14 - Slash: 14 - Structural: 30 + Heat: 13 + Slash: 13 + Structural: 23 penetrationThreshold: 800 penetrationDamageTypeRequirement: - Structural @@ -926,8 +926,6 @@ radius: 2.5 color: "#dd16d395" energy: 0.5 - - type: GatheringProjectile - amount: 6 - type: entity name: wide plasma barrage diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/SMGs/smgs.yml index b48367b30d..2860ac916f 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/SMGs/smgs.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/SMGs/smgs.yml @@ -488,14 +488,14 @@ - type: Wieldable unwieldOnUse: false - type: GunWieldBonus - minAngle: -2.5 + minAngle: -3 maxAngle: -25 - type: Gun - minAngle: 5.5 + minAngle: 6 maxAngle: 45 - angleIncrease: 2.75 - angleDecay: 20 - fireRate: 7 + angleIncrease: 2.5 + angleDecay: 18 + fireRate: 6 selectedMode: FullAuto soundGunshot: path: /Audio/Weapons/Guns/Gunshots/pistol.ogg diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Snipers/snipers.yml index 5ada43b283..23833cd106 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Snipers/snipers.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Snipers/snipers.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity name: Dragunov parent: [ BaseWeaponRifle, BaseGunWieldable ] id: WeaponSniperDragunov @@ -39,13 +39,13 @@ slots: gun_magazine: name: Magazine - startingItem: MagazineDragunov + startingItem: MagazineDragunovSP insertSound: /Audio/_Sunrise/Weapons/Guns/Snipers/Dragunov/dragunov_reload.ogg ejectSound: /Audio/_Sunrise/Weapons/Guns/Snipers/Dragunov/dragunov_unload.ogg priority: 2 whitelist: tags: - - MagazineDragunov + - MagazineDragunovSP gun_chamber: name: Chamber startingItem: CartridgeHeavyRifleRFMJ @@ -321,3 +321,4 @@ - type: Tag tags: - WrappedWeapon + diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Melee/e_pickaxe.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Melee/e_pickaxe.yml index fd9c039066..9968776f8b 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Melee/e_pickaxe.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Melee/e_pickaxe.yml @@ -16,7 +16,7 @@ types: Heat: 8 Piercing: 2 - Structural: 30 + Structural: 25 deactivatedSecret: true - type: Sprite sprite: _Sunrise/Objects/Weapons/Melee/energy_pickaxe.rsi @@ -48,8 +48,8 @@ shader: unshaded - type: Reflect reflectProb: 0.1 - - type: Tag - tags: - - Pickaxe + # - type: Tag + # tags: + # - Pickaxe - type: StaticPrice price: 1200 diff --git a/Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Airlocks/Glass/airlocks.yml b/Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Airlocks/Glass/airlocks.yml index 61354282eb..cdb1e0fd8e 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Airlocks/Glass/airlocks.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Airlocks/Glass/airlocks.yml @@ -9,7 +9,7 @@ - type: entity id: DoubleGlassAirlock - parent: AirlockGlass + parent: [AirlockGlass, BaseDeltaPressureReinforcedPlasmaQuarter] name: double glass airlock components: - type: MeleeSound @@ -42,7 +42,7 @@ - type: entity id: TripleGlassAirlock - parent: AirlockGlass + parent: [AirlockGlass, BaseDeltaPressureReinforcedPlasmaQuarter] name: triple glass airlock description: It opens, it closes, and maybe crushes you, but it bigger than normal door. components: diff --git a/Resources/Prototypes/_Sunrise/Entities/Structures/Machines/bombs.yml b/Resources/Prototypes/_Sunrise/Entities/Structures/Machines/bombs.yml index e1dc5ec79f..5bdce2afa3 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Structures/Machines/bombs.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Structures/Machines/bombs.yml @@ -52,13 +52,16 @@ suffix: Bomb components: - type: Sprite - sprite: _Sunrise/Objects/Weapons/Bombs/Pizzabomb.rsi + sprite: _Sunrise/Objects/Weapons/Bombs/pizzabomb.rsi - type: TwoStageTrigger #Trigger the sound trigger, delay, then explode triggerDelay: 0.5 components: - type: ExplodeOnTrigger # Explode after the delay keysIn: - stageTwo + - type: Item + sprite: _Sunrise/Objects/Weapons/Bombs/pizzabomb.rsi + heldPrefix: box - type: EmitSoundOnTrigger sound: /Audio/Machines/microwave_done_beep.ogg - type: TriggerOnUiOpen # Timer is triggered on storage open diff --git a/Resources/Prototypes/_Sunrise/Guidebook/detonator_triggers.yml b/Resources/Prototypes/_Sunrise/Guidebook/detonator_triggers.yml new file mode 100644 index 0000000000..6ca595b321 --- /dev/null +++ b/Resources/Prototypes/_Sunrise/Guidebook/detonator_triggers.yml @@ -0,0 +1,5 @@ +- type: guideEntry + id: SunriseDetonatorTriggers + name: guide-entry-detonator-triggers + text: "/ServerInfo/Guidebook/_Sunrise/DetonatorTriggers.xml" + priority: 6 diff --git a/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/gloves_weapon_npcs.yml b/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/gloves_weapon_npcs.yml index 00f88eff20..e42123b318 100644 --- a/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/gloves_weapon_npcs.yml +++ b/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/gloves_weapon_npcs.yml @@ -1,6 +1,27 @@ # Gloves with fake weapon visuals for NPCs - type: entity - parent: ClothingHandsBase + abstract: true + parent: BaseItem + id: ClothingHandsBaseNPC + components: + - type: Clothing + slots: [gloves] + equipSound: + path: /Audio/_Sunrise/Items/Equip/Gloves/sound1.ogg + params: + volume: -4 + maxDistance: 3 + - type: DamageOnInteractProtection + damageProtection: + flatReductions: + Heat: 5 + - type: Insulated + - type: Unremoveable + - type: FireProtection + reduction: 0.5 + +- type: entity + parent: ClothingHandsBaseNPC id: ClothingHandsNoGloves name: combat gloves abstract: true @@ -8,27 +29,17 @@ - type: Unremoveable - type: FireProtection reduction: 0.5 - - type: MeleeWeapon #Sunrise-start - attackRate: 1.5 + - type: MeleeWeapon + attackRate: 1.25 damage: types: Blunt: 10 - Structural: 10 - bluntStaminaDamageFactor: 1.5 + Structural: 20 + bluntStaminaDamageFactor: 1 soundHit: collection: Punch animation: WeaponArcFist - mustBeEquippedToUse: true #Sunrise-end - -- type: entity - parent: ClothingHandsBase - id: ClothingHandsNoGlovesNoDamage - abstract: true - components: - - type: Insulated - - type: Unremoveable - - type: FireProtection - reduction: 0.5 + mustBeEquippedToUse: true - type: entity parent: ClothingHandsNoGloves @@ -43,8 +54,8 @@ wideAnimationRotation: -135 damage: types: - Blunt: 8 - Structural: 10 + Blunt: 10 + Structural: 20 bluntStaminaDamageFactor: 3.0 soundHit: collection: MetalThud @@ -104,7 +115,7 @@ types: Slash: 10 Heat: 12 - Structural: 15 + Structural: 25 soundHit: path: /Audio/Weapons/eblade1.ogg params: @@ -395,6 +406,7 @@ types: Piercing: 15 Bloodloss: 2 + Structural: 20 - type: entity parent: [ClothingHandsBlackSMG, ClothingHandsSlashArcMeleeBase, PirateArmorPirateEvaArmored] @@ -411,6 +423,7 @@ damage: types: Piercing: 12 + Structural: 20 - type: entity parent: ClothingHandsBlackSMG @@ -468,7 +481,7 @@ damage: types: Slash: 17 - Structural: 15 + Structural: 25 soundHit: path: /Audio/Weapons/bladeslice.ogg params: @@ -719,7 +732,7 @@ types: Slash: 10 Heat: 12 - Structural: 15 + Structural: 25 soundHit: path: /Audio/Weapons/eblade1.ogg params: @@ -805,7 +818,7 @@ damage: types: Blunt: 20 - Structural: 20 + Structural: 30 bluntStaminaDamageFactor: 1.5 soundHit: collection: MetalThud @@ -1168,19 +1181,19 @@ categories: [ HideSpawnMenu ] - type: entity - parent: [ClothingHandsNoGlovesNoDamage, PirateArmorGoliath] + parent: [ClothingHandsBaseNPC, PirateArmorGoliath] id: ClothingHandsPirateArmorT1Goliath suffix: pirate T1 goliath armor categories: [ HideSpawnMenu ] - type: entity - parent: [ClothingHandsNoGlovesNoDamage, PirateArmorGoliathMining] + parent: [ClothingHandsBaseNPC, PirateArmorGoliathMining] id: ClothingHandsPirateArmorT1GoliathMining suffix: pirate T1 goliath mining armor categories: [ HideSpawnMenu ] - type: entity - parent: [ClothingHandsNoGloves, PirateArmorPirateEva] + parent: [ClothingHandsBaseNPC, PirateArmorPirateEva] id: ClothingHandsPirateArmorT1PirateEva suffix: pirate T1 EVA armor categories: [ HideSpawnMenu ] @@ -1192,7 +1205,7 @@ categories: [ HideSpawnMenu ] - type: entity - parent: [ClothingHandsNoGlovesNoDamage, PirateArmorMechArmorMediumSyndi] + parent: [ClothingHandsBaseNPC, PirateArmorMechArmorMediumSyndi] id: ClothingHandsPirateArmorT2Invisible suffix: pirate T2 armor categories: [ HideSpawnMenu ] diff --git a/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/mob_hostile_base.yml b/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/mob_hostile_base.yml index 786868e38d..25a21980e2 100644 --- a/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/mob_hostile_base.yml +++ b/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/mob_hostile_base.yml @@ -13,7 +13,7 @@ Cold: 0.1 heatDamage: types: - Heat: 1.5 + Heat: 1 - type: ThermalRegulator metabolismHeat: 800 radiatedHeat: 100 diff --git a/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/npc_loot_pirate.yml b/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/npc_loot_pirate.yml index 29c42fae82..a251c9bce6 100644 --- a/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/npc_loot_pirate.yml +++ b/Resources/Prototypes/_Sunrise/NPCs/PirateNPC/npc_loot_pirate.yml @@ -1,4 +1,4 @@ -#region BASE +#region BASE - type: entity id: NpcLootBase @@ -2181,7 +2181,7 @@ prob: 0.6 orGroup: dragunovPool # Items - - id: MagazineDragunov + - id: MagazineDragunovSP amount: 2 prob: 0.3 orGroup: dragunovAmmoPool @@ -3807,3 +3807,4 @@ sound: path: /Audio/Items/jumpsuit_equip.ogg + diff --git a/Resources/Prototypes/_Sunrise/NPCs/pirates.yml b/Resources/Prototypes/_Sunrise/NPCs/pirates.yml index d821840e2d..bcdb004d36 100644 --- a/Resources/Prototypes/_Sunrise/NPCs/pirates.yml +++ b/Resources/Prototypes/_Sunrise/NPCs/pirates.yml @@ -119,7 +119,6 @@ parent: - MobNonHumanHostileBase - MobHumanoidInvetorySimplified - - MobHumanoidHostileAISimpleRanged - MobPassiveRegen id: MobPirateBase components: @@ -128,6 +127,7 @@ - type: NpcFactionMember factions: - Pirate + - type: FootprintEmitter - type: MobThresholds thresholds: 0: Alive @@ -173,7 +173,7 @@ - trigger: !type:DamageTypeTrigger damageType: Radiation - damage: 40 + damage: 75 behaviors: - !type:VomitBehavior - type: PassiveDamage @@ -198,13 +198,13 @@ path: /Audio/_Sunrise/Effects/silence.ogg - type: Strippable - type: Tool - speedModifier: 2 + speedModifier: 8 qualities: - Prying - type: Prying pryPowered: true force: true - speedModifier: 2 + speedModifier: 8 useSound: path: /Audio/Items/crowbar.ogg - type: UserInterface @@ -218,21 +218,35 @@ - type: TTS voice: necrophos_dota_2 - type: GhostRole - prob: 0.001 + prob: 0.1 makeSentient: true name: ghost-role-information-expedition-pirate-name description: ghost-role-information-expedition-pirate-description rules: ghost-role-information-expedition-pirate-rules raffle: - settings: default + settings: short - type: GhostTakeoverAvailable - type: GuideHelp guides: - MobsExpeditionGuidePirates - type: GhostOnMove mustBeDead: true + - type: Puller + needsHands: false + +# For Expedition NPC +- type: entity + abstract: true + id: MobPirateTimedDespawn + components: - type: TimedDespawn - lifetime: 1200 + lifetime: 1200 # 20 minutes + - type: GhostRole + name: ghost-role-information-expedition-pirate-name + description: ghost-role-information-expedition-pirate-description + rules: ghost-role-information-rules-expedition-pirate-antagonist + raffle: + settings: short - type: entity abstract: true @@ -266,7 +280,7 @@ types: Slash: 3 Blunt: 7 - Structural: 10 + Structural: 15 - type: entity abstract: true @@ -275,6 +289,14 @@ components: - type: Damageable damageModifierSet: MobPirateT2 + - type: GhostRole + prob: 0.05 + makeSentient: true + name: ghost-role-information-expedition-pirate-name + description: ghost-role-information-expedition-pirate-description + rules: ghost-role-information-expedition-pirate-rules + raffle: + settings: short - type: entity abstract: true @@ -283,6 +305,42 @@ components: - type: Damageable damageModifierSet: MobPirateT3 + - type: GhostRole + prob: 0.01 + makeSentient: true + name: ghost-role-information-expedition-pirate-name + description: ghost-role-information-expedition-pirate-description + rules: ghost-role-information-expedition-pirate-rules + raffle: + settings: default + +- type: entity + abstract: true + parent: + - MobPirateBaseT2 + - MobHumanoidHostileAISimpleRanged + id: MobPirateBaseT2Ranged + +- type: entity + abstract: true + parent: + - MobPirateBaseT2 + - MobHumanoidHostileAISimpleMelee + id: MobPirateBaseT2Melee + +- type: entity + abstract: true + parent: + - MobPirateBaseT3 + - MobHumanoidHostileAISimpleRanged + id: MobPirateBaseT3Ranged + +- type: entity + abstract: true + parent: + - MobPirateBaseT3 + - MobHumanoidHostileAISimpleMelee + id: MobPirateBaseT3Melee - type: entity abstract: true @@ -358,11 +416,11 @@ state: icon - type: RandomSpawner prototypes: - # Ближний + # ??????? - MobPirateT1Knife - MobPirateT1MonkeyKnuckleDusters - MobPirateT1Pickaxe - # Дальний + # ??????? - MobPirateT1Pistol - MobPirateT1Mosin - MobPirateT1PKA @@ -389,7 +447,7 @@ - MobPirateT1BorgAssault - MobPirateT1BorgMining - MobPirateT1BorgDerelict - rareChance: 0.15 + rareChance: 0.2 - type: entity name: pirate T2 spawner @@ -404,16 +462,20 @@ state: icon - type: RandomSpawner prototypes: - # Ближний + # ??????? - MobPirateT2Cutlass - MobPirateT2ECutlass - MobPirateT2Sledgehammer - MobPirateT2GauntletDrill - # Дальний + # ??????? - MobPirateT2Shotgun - MobPirateT2ShotgunMiniBall - MobPirateT2ShotgunGlass - MobPirateT2Musket + - MobPirateT2MusketEMP + - MobPirateT2MusketBlast + - MobPirateT2MusketFrag + - MobPirateT2MusketPenetrator - MobPirateT2MachineCannon - MobPirateT2DoubleFlintlock - MobPirateT2DoubleRevolver @@ -425,7 +487,7 @@ - MobPirateT2Juggernaut - MobPirateT1BorgAssault - MobPirateT1BorgMining - rareChance: 0.15 + rareChance: 0.2 - type: entity name: pirate T3 spawner @@ -439,10 +501,10 @@ state: icon - type: RandomSpawner prototypes: - # Ближний + # ??????? - MobPirateT3Bola - MobPirateT3Stun - # Дальний + # ??????? - MobPirateT3Shield1984 - MobPirateT3ShieldSMG - MobPirateT3DMR @@ -460,8 +522,438 @@ - MobPirateT3Infiltrator - MobPirateT3Sniper - MobPirateT1BorgAssault + rareChance: 0.2 + +# mixed all tiers spawner +- type: entity + name: pirate T1-T3 spawner + id: MobPirateAllTiersSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Misc/Handy_Flags/pirate_handy_flag.rsi + state: icon + - type: RandomSpawner + prototypes: + - MobPirateT1Spawner + - MobPirateT2Spawner + - MobPirateT3Spawner + +# timed despawn spawners +- type: entity + name: pirate T1 spawner (despawn) + id: MobPirateT1TimedSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - state: one + - sprite: Objects/Misc/Handy_Flags/pirate_handy_flag.rsi + state: icon + - type: RandomSpawner + prototypes: + # ??????? + - MobPirateT1KnifeTimed + - MobPirateT1MonkeyKnuckleDustersTimed + - MobPirateT1PickaxeTimed + # ??????? + - MobPirateT1PistolTimed + - MobPirateT1MosinTimed + - MobPirateT1PKATimed + - MobPirateT1MonkeyFlareGunTimed + - MobPirateT1MonkeyFlareGunCoinTimed + - MobPirateT1MonkeyFlareGunIncendiaryTimed + - MobPirateT1MonkeyFlareGunUraniumTimed + - MobPirateT1ScrapSMGTimed + - MobPirateT1SMGTimed + - MobPirateT1FlintlockTimed + rarePrototypes: + - MobPirateT1MonkeyFireBombTimed + - MobPirateT1MonkeyEDaggerTimed + - MobPirateT1HunterTimed + - MobPirateT1HunterSmashTimed + - MobPirateT1BombardierFireTimed + - MobPirateT1BombardierGlassTimed + - MobPirateT1BombardierPipeTimed + - MobPirateT1ECutlassTimed + - MobPirateT1EPickaxeTimed + - MobPirateT1PlasmaCutterTimed + - MobPirateT1ScrapRifleTimed + - MobPirateT1RifleTimed + - MobPirateT1BorgAssaultTimed + - MobPirateT1BorgMiningTimed + - MobPirateT1BorgDerelictTimed + rareChance: 0.2 + +- type: entity + name: pirate T2 spawner (despawn) + id: MobPirateT2TimedSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - state: two + - sprite: Objects/Misc/Handy_Flags/pirate_handy_flag.rsi + state: icon + - type: RandomSpawner + prototypes: + # ??????? + - MobPirateT2CutlassTimed + - MobPirateT2ECutlassTimed + - MobPirateT2SledgehammerTimed + - MobPirateT2GauntletDrillTimed + # ??????? + - MobPirateT2ShotgunTimed + - MobPirateT2ShotgunMiniBallTimed + - MobPirateT2ShotgunGlassTimed + - MobPirateT2MusketTimed + - MobPirateT2MusketEMPTimed + - MobPirateT2MusketBlastTimed + - MobPirateT2MusketFragTimed + - MobPirateT2MusketPenetratorTimed + - MobPirateT2MachineCannonTimed + - MobPirateT2DoubleFlintlockTimed + - MobPirateT2DoubleRevolverTimed + rarePrototypes: + - MobPirateT2RevolverCutlassTimed + - MobPirateT2GrapeshotTimed + - MobPirateT2CannoballTimed + - MobPirateT2MechTimed + - MobPirateT2JuggernautTimed + - MobPirateT1BorgAssaultTimed + - MobPirateT1BorgMiningTimed rareChance: 0.15 +- type: entity + name: pirate T3 spawner (despawn) + id: MobPirateT3TimedSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Misc/Handy_Flags/pirate_handy_flag.rsi + state: icon + - type: RandomSpawner + prototypes: + # ??????? + - MobPirateT3BolaTimed + - MobPirateT3StunTimed + # ??????? + - MobPirateT3Shield1984Timed + - MobPirateT3ShieldSMGTimed + - MobPirateT3DMRTimed + - MobPirateT3Rifle2Timed + - MobPirateT3RifleTimed + - MobPirateT3LaserSMGTimed + - MobPirateT3LaserCannonTimed + - MobPirateT3RevolverTimed + - MobPirateT3SMGTimed + rarePrototypes: + - MobPirateT3L6Timed + - MobPirateT3TachankaTimed + - MobPirateT3RPDTimed + - MobPirateT3GrenadierTimed + - MobPirateT3InfiltratorTimed + - MobPirateT3SniperTimed + - MobPirateT1BorgAssaultTimed + rareChance: 0.15 + +# mixed all tiers spawner (despawn) +- type: entity + name: pirate T1-T3 spawner (despawn) + id: MobPirateAllTiersTimedSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Misc/Handy_Flags/pirate_handy_flag.rsi + state: icon + - type: RandomSpawner + prototypes: + - MobPirateT1TimedSpawner + - MobPirateT2TimedSpawner + - MobPirateT3TimedSpawner + +# region Timed-despan pirate variants (inherit original + MobPirateTimedDespawn) +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1Knife] + id: MobPirateT1KnifeTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1MonkeyKnuckleDusters] + id: MobPirateT1MonkeyKnuckleDustersTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1Pickaxe] + id: MobPirateT1PickaxeTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1Pistol] + id: MobPirateT1PistolTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1Mosin] + id: MobPirateT1MosinTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1PKA] + id: MobPirateT1PKATimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1MonkeyFlareGun] + id: MobPirateT1MonkeyFlareGunTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1MonkeyFlareGunCoin] + id: MobPirateT1MonkeyFlareGunCoinTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1MonkeyFlareGunIncendiary] + id: MobPirateT1MonkeyFlareGunIncendiaryTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1MonkeyFlareGunUranium] + id: MobPirateT1MonkeyFlareGunUraniumTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1ScrapSMG] + id: MobPirateT1ScrapSMGTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1SMG] + id: MobPirateT1SMGTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1Flintlock] + id: MobPirateT1FlintlockTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1MonkeyFireBomb] + id: MobPirateT1MonkeyFireBombTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1MonkeyEDagger] + id: MobPirateT1MonkeyEDaggerTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1Hunter] + id: MobPirateT1HunterTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1HunterSmash] + id: MobPirateT1HunterSmashTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1BombardierFire] + id: MobPirateT1BombardierFireTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1BombardierGlass] + id: MobPirateT1BombardierGlassTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1BombardierPipe] + id: MobPirateT1BombardierPipeTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1ECutlass] + id: MobPirateT1ECutlassTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1EPickaxe] + id: MobPirateT1EPickaxeTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1PlasmaCutter] + id: MobPirateT1PlasmaCutterTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1ScrapRifle] + id: MobPirateT1ScrapRifleTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1Rifle] + id: MobPirateT1RifleTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1BorgAssault] + id: MobPirateT1BorgAssaultTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1BorgMining] + id: MobPirateT1BorgMiningTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1BorgDerelict] + id: MobPirateT1BorgDerelictTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2Cutlass] + id: MobPirateT2CutlassTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2ECutlass] + id: MobPirateT2ECutlassTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2Sledgehammer] + id: MobPirateT2SledgehammerTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2GauntletDrill] + id: MobPirateT2GauntletDrillTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2Shotgun] + id: MobPirateT2ShotgunTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2ShotgunMiniBall] + id: MobPirateT2ShotgunMiniBallTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2ShotgunGlass] + id: MobPirateT2ShotgunGlassTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2Musket] + id: MobPirateT2MusketTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2MusketEMP] + id: MobPirateT2MusketEMPTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2MusketBlast] + id: MobPirateT2MusketBlastTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2MusketFrag] + id: MobPirateT2MusketFragTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2MusketPenetrator] + id: MobPirateT2MusketPenetratorTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2MachineCannon] + id: MobPirateT2MachineCannonTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2DoubleFlintlock] + id: MobPirateT2DoubleFlintlockTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2DoubleRevolver] + id: MobPirateT2DoubleRevolverTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2RevolverCutlass] + id: MobPirateT2RevolverCutlassTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2Grapeshot] + id: MobPirateT2GrapeshotTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2Cannoball] + id: MobPirateT2CannoballTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2Mech] + id: MobPirateT2MechTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2Juggernaut] + id: MobPirateT2JuggernautTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Bola] + id: MobPirateT3BolaTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Stun] + id: MobPirateT3StunTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Shield1984] + id: MobPirateT3Shield1984Timed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3ShieldSMG] + id: MobPirateT3ShieldSMGTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3DMR] + id: MobPirateT3DMRTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Rifle2] + id: MobPirateT3Rifle2Timed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Rifle] + id: MobPirateT3RifleTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3LaserSMG] + id: MobPirateT3LaserSMGTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3LaserCannon] + id: MobPirateT3LaserCannonTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Revolver] + id: MobPirateT3RevolverTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3SMG] + id: MobPirateT3SMGTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3L6] + id: MobPirateT3L6Timed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Tachanka] + id: MobPirateT3TachankaTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3RPD] + id: MobPirateT3RPDTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Grenadier] + id: MobPirateT3GrenadierTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Infiltrator] + id: MobPirateT3InfiltratorTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Sniper] + id: MobPirateT3SniperTimed + +# boss timed variants +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT1Boss] + id: MobPirateT1BossTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT2Boss] + id: MobPirateT2BossTimed + +- type: entity + parent: [MobPirateTimedDespawn, MobPirateT3Boss] + id: MobPirateT3BossTimed +# endregion Timed variants # Variations # region Melee Tier 1 - type: entity @@ -670,8 +1162,8 @@ - type: entity name: Scrap boarder - description: Rookie raider sent first through the breach. Usually doesn’t come back, but makes a great distraction. - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBase, MobHumanoidHostileAISimpleMelee, MobPirateSparkEffectBase] + description: Rookie raider sent first through the breach. Usually doesnt come back, but makes a great distraction. + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBase, MobPirateSparkEffectBase] id: MobPirateT1Knife components: - type: Loadout @@ -724,7 +1216,7 @@ - type: entity name: Scrap boarder description: Swings with the characteristic Vshuuu Vshuuu sound of an energy sword, constantly showing off just how awesome these Eeeee-blades are. - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBase, MobHumanoidHostileAISimpleMelee] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBase] id: MobPirateT1ECutlass components: - type: Loadout @@ -747,7 +1239,7 @@ - type: entity name: Scrap miner - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBase, MobHumanoidHostileAISimpleMelee] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBase] id: MobPirateT1EPickaxe description: A looter that scavenged enough coins to afford some decent equipment. components: @@ -771,7 +1263,7 @@ - type: entity name: Scrap miner - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBase, MobHumanoidHostileAISimpleMelee] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBase] id: MobPirateT1Pickaxe description: Armed with a trusty pickaxe and greed, every group needs its grunts. components: @@ -815,7 +1307,7 @@ - type: entity name: goliath hunter - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2, MobHumanoidHostileAISimpleMelee] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2Melee] id: MobPirateT1Hunter description: Veteran scrappers, these salvagers are wealthy enough to explore abandoned ruins for the adrenaline rush and adventure alone. components: @@ -878,7 +1370,7 @@ - type: entity name: goliath smasher - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2, MobHumanoidHostileAISimpleMelee] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2Melee] id: MobPirateT1HunterSmash description: Veteran scrappers, these salvagers are bulky enough to use heavy crusher-axe. components: @@ -951,7 +1443,7 @@ - type: entity name: Scrap salvager description: A seasoned pirate-salvager. With a plasma cutter, capable of slicing through shuttle hulls and clearing a path for the boarding team. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2Ranged] id: MobPirateT1PlasmaCutter components: - type: Loadout @@ -1140,7 +1632,7 @@ - type: entity name: Scrap raider - description: Loves guns. Has built as many weapons with his own hands as he’s blown up. Armed with an improvised SMG. + description: Loves guns. Has built as many weapons with his own hands as hes blown up. Armed with an improvised SMG. parent: [MobMovementSpeedModifierEVARanged, MobPirateBase] id: MobPirateT1ScrapSMG components: @@ -1183,7 +1675,7 @@ name: Scrap Automatic parent: [MobMovementSpeedModifierEVARanged, MobPirateBase] id: MobPirateT1ScrapRifle - description: In a team where everyone is armed with whatever they could grab, he picked up a rifle — at least it used to be one… + description: In a team where everyone is armed with whatever they could grab, he picked up a rifle at least it used to be one components: - type: Loadout prototypes: @@ -1232,7 +1724,7 @@ name: Scrap raider parent: [MobMovementSpeedModifierEVARanged, MobPirateBase] id: MobPirateT1SMG - description: In a team where everyone is armed with whatever they could grab, he picked up a rifle — at least it used to be one… + description: In a team where everyone is armed with whatever they could grab, he picked up a rifle at least it used to be one components: - type: Loadout prototypes: @@ -1584,7 +2076,7 @@ - type: entity name: pirate boarder description: Shock troopers that specialize in using the element of surprise and swift, aggressive action to achieve their objectives. - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2, MobHumanoidHostileAISimpleMelee, MobPirateSparkEffectBase] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2Melee, MobPirateSparkEffectBase] id: MobPirateT2Cutlass components: - type: Loadout @@ -1604,7 +2096,7 @@ - type: entity name: pirate boarder description: Shock troopers that specialize in using the element of surprise and swift, aggressive action to achieve their objectives. - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2, MobHumanoidHostileAISimpleMelee] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2Melee] id: MobPirateT2ECutlass components: - type: Loadout @@ -1637,8 +2129,8 @@ - type: entity name: pirate breacher - description: A boarding team member armed with a sledgehammer, capable of breaking through an airlock — or someone’s skull. - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2, MobHumanoidHostileAISimpleMelee, MobPirateSparkEffectBase] + description: A boarding team member armed with a sledgehammer, capable of breaking through an airlock or someones skull. + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2Melee] id: MobPirateT2Sledgehammer components: - type: Loadout @@ -1682,7 +2174,7 @@ - type: entity name: pirate breacher description: Drilling in the name of... drilling. No rock formation or shuttle wall can withstand the power of mining drill gauthlet. - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2, MobHumanoidHostileAISimpleMelee, MobPirateSparkEffectBase] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2Melee, MobPirateSparkEffectBase] id: MobPirateT2GauntletDrill components: - type: Loadout @@ -1760,18 +2252,18 @@ bloodReferenceSolution: reagents: - ReagentId: WeldingFuel - Quantity: 200 + Quantity: 300 - type: MobThresholds thresholds: 0: Alive - 370: Critical - 380: Dead + 350: Critical + 375: Dead - type: Destructible thresholds: - trigger: !type:DamageTypeTrigger damageType: Heat - damage: 1500 + damage: 3000 behaviors: - !type:SpawnEntitiesBehavior spawnInContainer: true @@ -1783,21 +2275,6 @@ - !type:PlaySoundBehavior sound: collection: MeatLaserImpact - - trigger: - !type:DamageTypeTrigger - damageType: Radiation - damage: 15 - behaviors: - - !type:PopupBehavior - popup: mouth-taste-metal - popupType: LargeCaution - targetOnly: true - - trigger: - !type:DamageTypeTrigger - damageType: Radiation - damage: 40 - behaviors: - - !type:VomitBehavior - type: PassiveDamage allowedStates: - Alive @@ -1813,7 +2290,7 @@ 300: 1.6 350: 1.7 - type: Stamina - baseCritThreshold: 800 + baseCritThreshold: 1200 - type: MovementSpeedModifier baseWalkSpeed: 2 baseSprintSpeed: 2.75 @@ -1824,14 +2301,14 @@ volume: 5 - type: Repairable fuelCost: 25 - doAfterDelay: 10 + doAfterDelay: 3 - type: MeleeWeapon hidden: true autoAttack: true - attackRate: 3.5 + attackRate: 4 damage: types: - Structural: 50 + Structural: 40 Piercing: 5 Slash: 5 Blunt: 5 @@ -2008,8 +2485,8 @@ - type: entity name: Shrap'nel Thunder - description: Turns everything into cheese with holes. Claims that “shrapnel is just another form of art. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2] + description: Turns everything into cheese with holes. Claims that shrapnel is just another form of art. + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2Ranged] id: MobPirateT2Grapeshot components: - type: Loadout @@ -2083,7 +2560,7 @@ - type: entity name: Pirate gunslinger description: Wields two pirate revolvers. One revolver is good, but two are even better. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2Ranged] id: MobPirateT2DoubleRevolver components: - type: Loadout @@ -2128,7 +2605,7 @@ - type: entity name: Pirate duelist description: Armed with a pair of old flintlock pistols. Fires slowly, but painfully. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2Ranged] id: MobPirateT2DoubleFlintlock components: - type: Loadout @@ -2173,7 +2650,7 @@ - type: entity name: pirate blunderbuss description: Less a gun, more a handheld cannon. Fires anything that fits the barrel. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2Ranged] id: MobPirateT2Shotgun components: - type: Loadout @@ -2248,7 +2725,7 @@ - type: entity name: pirate musketeer description: Armed with an antique large-caliber musket. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2Ranged] id: MobPirateT2Musket components: - type: Loadout @@ -2266,11 +2743,17 @@ - sprite: Clothing/Head/Hardsuits/pirateeva.rsi state: on-equipped-HELMET-vox shader: unshaded + - type: RechargeBasicEntityAmmo + rechargeCooldown: 8 + rechargeSound: + path: /Audio/_Sunrise/Effects/silence.ogg - type: BasicEntityAmmoProvider proto: CartridgeAntiMateriel + capacity: 1 + count: 1 - type: Gun showExamineText: false - fireRate: 0.1 + fireRate: 1 selectedMode: SemiAuto availableModes: - SemiAuto @@ -2292,10 +2775,50 @@ - type: ParrotListener - type: ParrotMemory +- type: entity + name: pirate musketeer + description: Armed with an antique large-caliber musket. Color of tip on ammo in his bandolier was blue. + parent: MobPirateT2Musket + id: MobPirateT2MusketEMP + suffix: EMP + components: + - type: BasicEntityAmmoProvider + proto: CartridgeAntiMaterielEmp + +- type: entity + name: pirate musketeer + description: Armed with an antique large-caliber musket. Color of tip on ammo in his bandolier was brown. + parent: MobPirateT2Musket + id: MobPirateT2MusketBlast + suffix: Blast + components: + - type: BasicEntityAmmoProvider + proto: CartridgeAntiMaterielBlast + +- type: entity + name: pirate musketeer + description: Armed with an antique large-caliber musket. Color of tip on ammo in his bandolier was green. + parent: MobPirateT2Musket + id: MobPirateT2MusketFrag + suffix: Frag + components: + - type: BasicEntityAmmoProvider + proto: CartridgeAntiMaterielFrag + +- type: entity + name: pirate musketeer + description: Armed with an antique large-caliber musket. Color of tip on ammo in his bandolier was red. + parent: MobPirateT2Musket + id: MobPirateT2MusketPenetrator + suffix: Armor-piece + components: + - type: BasicEntityAmmoProvider + proto: CartridgeAntiMaterielPenetrator + - type: entity name: pirate machinonner description: Pirate with handheld belt feeded cannon..What?!. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2Ranged] id: MobPirateT2MachineCannon components: - type: Loadout @@ -2347,7 +2870,7 @@ - type: entity name: Privateer hunter description: A pirate who has found sponsors, well-armed and suitably dangerous. - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT3] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT3Melee] id: MobPirateT3Bola components: - type: Loadout @@ -2383,7 +2906,7 @@ - type: entity name: Privateer hunter description: A pirate who has found sponsors, well-armed and suitably dangerous. - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT3] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT3Melee] id: MobPirateT3Stun components: - type: Loadout @@ -2420,7 +2943,7 @@ - type: entity name: Privateer boarder description: A pirate who has found sponsors, well-armed and suitably dangerous. - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT3] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT3Melee] id: MobPirateT3Shield1984 components: - type: Loadout @@ -2463,7 +2986,7 @@ - type: entity name: Privateer boarder description: A pirate who has found sponsors, well-armed and suitably dangerous. - parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT3, MobPirateSparkEffectBase] + parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT3Melee] id: MobPirateT3ShieldSMG components: - type: Loadout @@ -2505,7 +3028,7 @@ - type: entity name: Privateer sharpshooter description: A pirate who has found sponsors, well-armed and suitably dangerous. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3Ranged] id: MobPirateT3DMR components: - type: Loadout @@ -2562,7 +3085,7 @@ - type: entity name: Tachanka description: LMG! Mounted and Loaded! - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3, MobPirateSparkEffectBase] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3Ranged, MobPirateSparkEffectBase] id: MobPirateT3Tachanka components: - type: Loadout @@ -2613,7 +3136,7 @@ - type: entity name: Scrapshade - description: Boo! Scared? Don’t worry, I won’t hurt you. + description: Boo! Scared? Dont worry, I wont hurt you. parent: MobPirateT3DMR id: MobPirateT3Infiltrator components: @@ -2672,7 +3195,7 @@ - type: entity name: Privateer rifleman description: A pirate who has found sponsors, well-armed and suitably dangerous. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3Ranged] id: MobPirateT3Rifle components: - type: Loadout @@ -2751,7 +3274,7 @@ - type: entity name: Privateer machinegunner description: A pirate who has found sponsors, well-armed and suitably dangerous. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3Ranged] id: MobPirateT3L6 components: - type: Loadout @@ -2883,7 +3406,7 @@ - type: entity name: Privateer machinegunner description: A pirate who has found sponsors, well-armed and suitably dangerous. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3Ranged] id: MobPirateT3RPD components: - type: Loadout @@ -2928,7 +3451,7 @@ - type: entity name: Privateer salamander description: A pirate who has found sponsors, well-armed and suitably dangerous. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3Ranged] id: MobPirateT3LaserSMG components: - type: Loadout @@ -2970,7 +3493,7 @@ - type: entity name: Privateer mamba description: A pirate who has found sponsors, well-armed and suitably dangerous. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3Ranged] id: MobPirateT3LaserCannon components: - type: Loadout @@ -3016,8 +3539,8 @@ - type: entity name: Privateer grenadier - description: Covered in fireworks and explosives. Hasn’t heard of safety regulations or just ignores them loudly. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3] + description: Covered in fireworks and explosives. Hasnt heard of safety regulations or just ignores them loudly. + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3Ranged] id: MobPirateT3Grenadier components: - type: Loadout @@ -3035,6 +3558,10 @@ - sprite: _Sunrise/Clothing/Head/Hardsuits/ussp-heavy.rsi state: on-equipped-HELMET shader: unshaded + - type: RechargeBasicEntityAmmo + rechargeCooldown: 7 + rechargeSound: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg - type: BasicEntityAmmoProvider proto: GrenadeFrag capacity: 1 @@ -3042,7 +3569,7 @@ - type: Gun projectileSpeed: 15 showExamineText: false - fireRate: 0.15 + fireRate: 1 selectedMode: FullAuto availableModes: - FullAuto @@ -3051,7 +3578,7 @@ - type: entity name: bounty hunter description: A seasoned merc who joined the pirate ranks. Fast hands, faster trigger. - parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3] + parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3Ranged] id: MobPirateT3Revolver components: - type: Loadout @@ -3095,7 +3622,7 @@ # region Tier 1-3 Boss - type: entity name: Captain Rustfist - description: An old salvage veteran, more metal than man. His fists creak, his armor’s held together by bolts and faith, and if he swings at you, it’s best to play dead and hope he buys it. + description: An old salvage veteran, more metal than man. His fists creak, his armors held together by bolts and faith, and if he swings at you, its best to play dead and hope he buys it. parent: [MobHostileBossBase, MobPirateBase, MobPirateSparkEffectBase] id: MobPirateT1Boss components: @@ -3187,7 +3714,7 @@ - type: entity name: Captain Gold Bolt description: Space legend, feared and drunk in equal measure. - parent: [MobHostileBossBase, MobPirateBaseT2] + parent: [MobHostileBossBase, MobPirateBaseT2Ranged] id: MobPirateT2Boss components: - type: Loadout @@ -3262,7 +3789,7 @@ - type: entity name: Skull House description: The Heavy Mech USSP, a communist variant of the Durand, features stronger armor and a powerful machine gun. - parent: [MobHostileBossBase, MobPirateBaseT3, MobPirateSparkEffectBase] + parent: [MobHostileBossBase, MobPirateBaseT3Ranged, MobPirateSparkEffectBase] id: MobPirateT3Boss components: - type: Loadout @@ -3405,3 +3932,7 @@ - SmokeScreenImplant - ScramImplant - CreepyLaughImplant + - type: GhostRole + prob: 0.35 + makeSentient: true + diff --git a/Resources/Prototypes/_Sunrise/Procedural/salvage_factions.yml b/Resources/Prototypes/_Sunrise/Procedural/salvage_factions.yml index a6caaee9f0..07ee582fd4 100644 --- a/Resources/Prototypes/_Sunrise/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/_Sunrise/Procedural/salvage_factions.yml @@ -3,85 +3,85 @@ desc: salvage-faction-scrappers entries: # melee - - proto: MobPirateT1Knife + - proto: MobPirateT1KnifeTimed prob: 0.25 - - proto: MobPirateT1MonkeyKnuckleDusters + - proto: MobPirateT1MonkeyKnuckleDustersTimed prob: 0.25 - - proto: MobPirateT1Pickaxe + - proto: MobPirateT1PickaxeTimed prob: 0.25 - - proto: MobPirateT1MonkeyEDagger + - proto: MobPirateT1MonkeyEDaggerTimed cost: 3 prob: 0.1 - - proto: MobPirateT1ECutlass + - proto: MobPirateT1ECutlassTimed cost: 5 prob: 0.05 - - proto: MobPirateT1EPickaxe + - proto: MobPirateT1EPickaxeTimed cost: 5 prob: 0.1 - - proto: MobPirateT1Hunter + - proto: MobPirateT1HunterTimed cost: 5 prob: 0.1 - - proto: MobPirateT1HunterSmash + - proto: MobPirateT1HunterSmashTimed cost: 6 prob: 0.08 # range - - proto: MobPirateT1Pistol + - proto: MobPirateT1PistolTimed cost: 2 prob: 0.2 - - proto: MobPirateT1Mosin + - proto: MobPirateT1MosinTimed cost: 2 prob: 0.2 - - proto: MobPirateT1PKA + - proto: MobPirateT1PKATimed prob: 0.2 - - proto: MobPirateT1MonkeyFlareGun + - proto: MobPirateT1MonkeyFlareGunTimed prob: 0.1 - - proto: MobPirateT1MonkeyFlareGunCoin + - proto: MobPirateT1MonkeyFlareGunCoinTimed prob: 0.08 - - proto: MobPirateT1MonkeyFlareGunIncendiary + - proto: MobPirateT1MonkeyFlareGunIncendiaryTimed prob: 0.05 - - proto: MobPirateT1MonkeyFlareGunUranium + - proto: MobPirateT1MonkeyFlareGunUraniumTimed prob: 0.03 - - proto: MobPirateT1ScrapSMG + - proto: MobPirateT1ScrapSMGTimed cost: 3 prob: 0.1 - - proto: MobPirateT1SMG + - proto: MobPirateT1SMGTimed cost: 4 prob: 0.1 - - proto: MobPirateT1MonkeyFireBomb + - proto: MobPirateT1MonkeyFireBombTimed cost: 3 prob: 0.1 - - proto: MobPirateT1BombardierFire + - proto: MobPirateT1BombardierFireTimed cost: 4 prob: 0.05 - - proto: MobPirateT1BombardierGlass + - proto: MobPirateT1BombardierGlassTimed cost: 4 prob: 0.05 - - proto: MobPirateT1BombardierPipe + - proto: MobPirateT1BombardierPipeTimed cost: 4 prob: 0.05 - - proto: MobPirateT1Flintlock + - proto: MobPirateT1FlintlockTimed prob: 0.2 - - proto: MobPirateT1PlasmaCutter + - proto: MobPirateT1PlasmaCutterTimed cost: 5 prob: 0.1 - - proto: MobPirateT1ScrapRifle + - proto: MobPirateT1ScrapRifleTimed cost: 6 prob: 0.1 - - proto: MobPirateT1Rifle + - proto: MobPirateT1RifleTimed cost: 6 prob: 0.1 # borgs - - proto: MobPirateT1BorgAssault - cost: 5 + - proto: MobPirateT1BorgAssaultTimed + cost: 3 prob: 0.05 - - proto: MobPirateT1BorgMining + - proto: MobPirateT1BorgMiningTimed cost: 2 prob: 0.1 - - proto: MobPirateT1BorgDerelict + - proto: MobPirateT1BorgDerelictTimed cost: 1 prob: 0.15 - - proto: MobPirateT1Boss - cost: 10 + - proto: MobPirateT1BossTimed + cost: 5 prob: 0.05 configs: DefenseStructure: ComputerPirateExchanger @@ -92,64 +92,72 @@ desc: salvage-faction-pirates entries: # melee - - proto: MobPirateT2Cutlass + - proto: MobPirateT2CutlassTimed prob: 0.1 - - proto: MobPirateT2ECutlass + - proto: MobPirateT2ECutlassTimed cost: 2 prob: 0.1 - - proto: MobPirateT2Sledgehammer + - proto: MobPirateT2SledgehammerTimed cost: 2 prob: 0.1 - - proto: MobPirateT2GauntletDrill + - proto: MobPirateT2GauntletDrillTimed cost: 2 prob: 0.1 # range - - proto: MobPirateT2Shotgun + - proto: MobPirateT2ShotgunTimed cost: 2 prob: 0.1 - - proto: MobPirateT2ShotgunMiniBall + - proto: MobPirateT2ShotgunMiniBallTimed prob: 0.1 - - proto: MobPirateT2ShotgunGlass + - proto: MobPirateT2ShotgunGlassTimed cost: 2 prob: 0.1 - - proto: MobPirateT2Musket - prob: 0.1 - - proto: MobPirateT2MachineCannon + - proto: MobPirateT2MusketTimed + prob: 0.05 + - proto: MobPirateT2MusketEMPTimed + prob: 0.05 + - proto: MobPirateT2MusketBlastTimed + prob: 0.05 + - proto: MobPirateT2MusketFragTimed + prob: 0.05 + - proto: MobPirateT2MusketPenetratorTimed + prob: 0.05 + - proto: MobPirateT2MachineCannonTimed cost: 3 prob: 0.1 - - proto: MobPirateT2DoubleFlintlock + - proto: MobPirateT2DoubleFlintlockTimed prob: 0.1 - - proto: MobPirateT2DoubleRevolver + - proto: MobPirateT2DoubleRevolverTimed prob: 0.1 # rare - - proto: MobPirateT2RevolverCutlass + - proto: MobPirateT2RevolverCutlassTimed cost: 3 prob: 0.04 - - proto: MobPirateT2Grapeshot + - proto: MobPirateT2GrapeshotTimed cost: 5 prob: 0.04 - - proto: MobPirateT2Cannoball + - proto: MobPirateT2CannoballTimed cost: 5 prob: 0.04 - - proto: MobPirateT2Mech + - proto: MobPirateT2MechTimed cost: 7 prob: 0.03 - - proto: MobPirateT2Juggernaut + - proto: MobPirateT2JuggernautTimed cost: 7 prob: 0.04 # borgs - - proto: MobPirateT1BorgAssault + - proto: MobPirateT1BorgAssaultTimed cost: 2 prob: 0.1 - - proto: MobPirateT1BorgMining + - proto: MobPirateT1BorgMiningTimed cost: 1 prob: 0.1 - - proto: MobPirateT1BorgDerelict + - proto: MobPirateT1BorgDerelictTimed cost: 1 prob: 0.1 - - proto: MobPirateT2Boss - cost: 10 - prob: 0.02 + - proto: MobPirateT2BossTimed + cost: 5 + prob: 0.1 configs: DefenseStructure: ComputerPirateExchanger Megafauna: MobPirateT2Boss @@ -159,72 +167,99 @@ desc: salvage-faction-freelancers entries: # melee - - proto: MobPirateT3Bola + - proto: MobPirateT3BolaTimed cost: 2 prob: 0.1 - - proto: MobPirateT3Stun + - proto: MobPirateT3StunTimed cost: 2 prob: 0.1 + - proto: MobPirateT1ECutlassTimed + cost: 1 + prob: 0.05 # range - - proto: MobPirateT3Shield1984 + - proto: MobPirateT1BombardierFireTimed + cost: 1 + prob: 0.05 + - proto: MobPirateT1BombardierGlassTimed + cost: 1 + prob: 0.05 + - proto: MobPirateT1BombardierPipeTimed + cost: 1 + prob: 0.05 + - proto: MobPirateT1PistolTimed + cost: 1 + prob: 0.05 + - proto: MobPirateT1SMGTimed + cost: 1 + prob: 0.1 + - proto: MobPirateT1ScrapSMGTimed + cost: 1 + prob: 0.05 + - proto: MobPirateT1ScrapRifleTimed + cost: 1 + prob: 0.05 + - proto: MobPirateT1RifleTimed + cost: 1 + prob: 0.1 + - proto: MobPirateT3Shield1984Timed cost: 2 prob: 0.1 - - proto: MobPirateT3ShieldSMG + - proto: MobPirateT3ShieldSMGTimed cost: 2 prob: 0.1 - - proto: MobPirateT3DMR + - proto: MobPirateT3DMRTimed cost: 3 prob: 0.1 - - proto: MobPirateT3Rifle2 + - proto: MobPirateT3Rifle2Timed cost: 2 prob: 0.1 - - proto: MobPirateT3Rifle + - proto: MobPirateT3RifleTimed cost: 2 prob: 0.1 - - proto: MobPirateT3LaserSMG + - proto: MobPirateT3LaserSMGTimed cost: 2 prob: 0.1 - - proto: MobPirateT3LaserCannon + - proto: MobPirateT3LaserCannonTimed cost: 3 prob: 0.1 - - proto: MobPirateT3Revolver + - proto: MobPirateT3RevolverTimed cost: 2 prob: 0.08 - - proto: MobPirateT3SMG + - proto: MobPirateT3SMGTimed cost: 2 prob: 0.15 # rare - - proto: MobPirateT3L6 + - proto: MobPirateT3L6Timed cost: 5 prob: 0.04 - - proto: MobPirateT3RPD + - proto: MobPirateT3RPDTimed cost: 5 prob: 0.05 - - proto: MobPirateT3Tachanka + - proto: MobPirateT3TachankaTimed cost: 6 prob: 0.04 - - proto: MobPirateT3Grenadier + - proto: MobPirateT3GrenadierTimed cost: 5 prob: 0.05 - - proto: MobPirateT3Infiltrator + - proto: MobPirateT3InfiltratorTimed cost: 5 prob: 0.04 - - proto: MobPirateT3Sniper + - proto: MobPirateT3SniperTimed cost: 5 prob: 0.03 # borgs - - proto: MobPirateT1BorgAssault + - proto: MobPirateT1BorgAssaultTimed cost: 1 prob: 0.05 - - proto: MobPirateT1BorgMining + - proto: MobPirateT1BorgMiningTimed cost: 1 prob: 0.02 - - proto: MobPirateT1BorgDerelict + - proto: MobPirateT1BorgDerelictTimed cost: 1 prob: 0.02 - - proto: MobPirateT3Boss - cost: 10 - prob: 0.02 + - proto: MobPirateT3BossTimed + cost: 5 + prob: 0.1 configs: DefenseStructure: ComputerPirateExchanger Megafauna: MobPirateT3Boss diff --git a/Resources/Prototypes/_Sunrise/Recipes/Lathes/ammo.yml b/Resources/Prototypes/_Sunrise/Recipes/Lathes/ammo.yml index 4243ed805f..9e997d2161 100644 --- a/Resources/Prototypes/_Sunrise/Recipes/Lathes/ammo.yml +++ b/Resources/Prototypes/_Sunrise/Recipes/Lathes/ammo.yml @@ -434,6 +434,13 @@ materials: Steel: 375 +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazinePistolSubMachineGunCaselessExtended + result: MagazinePistolSubMachineGunCaselessExtended + materials: + Steel: 500 + - type: latheRecipe parent: BaseAmmoRecipe id: MagazinePistolSubMachineGunAP @@ -443,6 +450,28 @@ Plasteel: 115 Uranium: 40 +# .40 SMG +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazinePistol40SubMachineGunSP + result: MagazinePistol40SubMachineGunSP + materials: + Steel: 300 + +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazinePistol40SubMachineGunHP + result: MagazinePistol40SubMachineGunHP + materials: + Steel: 300 + +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazinePistol40SubMachineGunFMJ + result: MagazinePistol40SubMachineGunFMJ + materials: + Steel: 375 + # .35 Auto WT550 - type: latheRecipe parent: BaseAmmoRecipe @@ -1104,14 +1133,32 @@ Steel: 835 - type: latheRecipe - id: MagazineDragunov - result: MagazineDragunov + id: MagazineDragunovSP + result: MagazineDragunovSP categories: - Ammo completetime: 5 materials: Steel: 800 +- type: latheRecipe + id: MagazineDragunovHP + result: MagazineDragunovHP + categories: + - Ammo + completetime: 5 + materials: + Steel: 800 + +- type: latheRecipe + id: MagazineDragunovFMJ + result: MagazineDragunovFMJ + categories: + - Ammo + completetime: 5 + materials: + Steel: 850 + - type: latheRecipe id: MagazineGlock22 result: MagazineGlock22 diff --git a/Resources/Prototypes/_Sunrise/secret_weights.yml b/Resources/Prototypes/_Sunrise/secret_weights.yml index 6846460649..e48fd6b109 100644 --- a/Resources/Prototypes/_Sunrise/secret_weights.yml +++ b/Resources/Prototypes/_Sunrise/secret_weights.yml @@ -1,9 +1,12 @@ - type: weightedRandom id: SunriseSecret weights: - Traitor: 0.6 + Traitor: 0.4 BloodCult: 0.1 AssaultOps: 0.1 Revolutionary: 0.1 - Nukeops: 0.1 + Nukeops: 0.2 ExtraLowPop: 1 + Zombie: 0.04 + Zombieteors: 0.01 + Survival: 0.05 \ No newline at end of file diff --git a/Resources/Prototypes/game_presets.yml b/Resources/Prototypes/game_presets.yml index b872bf11fa..4617f74642 100644 --- a/Resources/Prototypes/game_presets.yml +++ b/Resources/Prototypes/game_presets.yml @@ -51,42 +51,42 @@ # - AssaultOps # - SubGamemodesRule # - Xenoborgs - - KesslerSyndromeScheduler +# - KesslerSyndromeScheduler # - RampingStationEventScheduler # - SpaceTrafficControlEventScheduler # - BasicRoundstartVariation -#- type: gamePreset -# id: AllerAtOnce -# alias: -# - allall -# - aller -# - badidea -# - punishment -# name: aller-at-once-title -# description: aller-at-once-description -# showInVote: false #Please god dont do this -# hide: false # Sunrise-Edit -# minPlayers: 20 # Sunrise-Edit: 20 players for NUKEOPS -# rules: -# - Nukeops -# - Traitor -# - Revolutionary -# - Zombie -# - Wizard +- type: gamePreset + id: AllerAtOnce + alias: + - allall + - aller + - badidea + - punishment + name: aller-at-once-title + description: aller-at-once-description + showInVote: false #Please god dont do this + hide: false # Sunrise-Edit + minPlayers: 20 # Sunrise-Edit: 20 players for NUKEOPS + rules: + - Nukeops + - Traitor + - Revolutionary + - Zombie + - Wizard - Xenoborgs -# - FleshCult -# - BloodCult -# - AssaultOps -# - SubGamemodesRule -# - BasicStationEventScheduler -# - KesslerSyndromeScheduler -# - MeteorSwarmMildScheduler -# - MeteorSwarmScheduler -# - RampingStationEventScheduler -# - SpaceTrafficControlEventScheduler -# - SpaceTrafficControlFriendlyEventScheduler -# - BasicRoundstartVariation + - FleshCult + - BloodCult + - AssaultOps + - SubGamemodesRule + - BasicStationEventScheduler + - KesslerSyndromeScheduler + - MeteorSwarmMildScheduler + - MeteorSwarmScheduler + - RampingStationEventScheduler + - SpaceTrafficControlEventScheduler + - SpaceTrafficControlFriendlyEventScheduler + - BasicRoundstartVariation # Sunrise-Edit: Replace by Extra #- type: gamePreset @@ -277,20 +277,20 @@ - SpaceTrafficControlEventScheduler - BasicRoundstartVariation -#- type: gamePreset -# id: Zombieteors -# alias: -# - zombieteors -# - zombombies -# - meteombies -# name: zombieteors-title -# description: zombieteors-description -# showInVote: true # Sunrise-Edit -# hide: true # Sunrise-Edit -# minPlayers: 20 # Sunrise-Edit: 20 players for ZOMBIES -# rules: -# - Zombie -# - BasicStationEventScheduler -# - KesslerSyndromeScheduler -# - SpaceTrafficControlEventScheduler -# - BasicRoundstartVariation +- type: gamePreset + id: Zombieteors + alias: + - zombieteors + - zombombies + - meteombies + name: zombieteors-title + description: zombieteors-description + showInVote: true # Sunrise-Edit + hide: true # Sunrise-Edit + minPlayers: 20 # Sunrise-Edit: 20 players for ZOMBIES + rules: + - Zombie + - BasicStationEventScheduler + - KesslerSyndromeScheduler + - SpaceTrafficControlEventScheduler + - BasicRoundstartVariation diff --git a/Resources/ServerInfo/Guidebook/_Sunrise/DetonatorTriggers.xml b/Resources/ServerInfo/Guidebook/_Sunrise/DetonatorTriggers.xml new file mode 100644 index 0000000000..d86d8a04d2 --- /dev/null +++ b/Resources/ServerInfo/Guidebook/_Sunrise/DetonatorTriggers.xml @@ -0,0 +1,38 @@ + # Взрывной шнур, детонатор и триггеры + + Это руководство описывает основу сборки взрывных связок: детонатор, триггеры и взрывной шнур. + + ## Основные компоненты + + + + + ## Виды триггеров + + + + + + ## Общая схема сборки + 1. Соберите детонатор, установив в него один из триггеров и вставьте взрывной шнур. + + + + + + 2. Проложите взрывной шнур по полу в месте где вы ходите создать контролируемый взрыв для разрушения. Взрыв мощный чтобы проломить стену, но достаточно небольшого радиуса дабы не задеть вас. + + + + + + + + + + + + + + + 3. Активируйте заранее таймер-триггер для подрыва связки и прикрепите его к напольному шнуру либо прикрепите готовый детонатор с иными типами трикеров заранее и взорвите на удалении. diff --git a/Resources/migration.yml b/Resources/migration.yml index fe1002b8e7..059066e131 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -958,3 +958,6 @@ ImplantExtractorMachineCircuitboard: InterrogatorMachineCircuitboard # 2026-01-02 EnergyDomeWiredTest: null # Sunrise-End + +# 2026-01-30 +MagazineDragunov: MagazineDragunovSP From 5ea82a2b85741a019b90bb4487e3745265b27215 Mon Sep 17 00:00:00 2001 From: Sunrise-Bot Date: Sat, 31 Jan 2026 22:28:55 +0000 Subject: [PATCH 09/15] Automatic changelog update --- Resources/Changelog/ChangelogSunrise.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Resources/Changelog/ChangelogSunrise.yml b/Resources/Changelog/ChangelogSunrise.yml index 1ceeae71a2..d682ce532b 100644 --- a/Resources/Changelog/ChangelogSunrise.yml +++ b/Resources/Changelog/ChangelogSunrise.yml @@ -25466,3 +25466,22 @@ id: 1648 time: '2026-01-31T08:40:10.0000000+00:00' url: https://github.com/space-sunrise/sunrise-station/pull/3799 +- author: KaiserMaus + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0440\u0443\u043A\ + \u043E\u0432\u043E\u0434\u0441\u0442\u0432\u043E \u043F\u043E \u0432\u0437\u0440\ + \u044B\u0432\u043D\u043E\u043C\u0443 \u0448\u043D\u0443\u0440\u0443 \u0438 \u0434\ + \u0435\u0442\u043E\u043D\u0430\u0442\u043E\u0440\u0430\u0445." + type: Add + - message: "\u0428\u043B\u044E\u0437\u044B \u0438 \u043E\u0431\u044B\u0447\u043D\ + \u044B\u0435 \u0441\u0442\u0435\u043D\u044B \u043F\u043E\u0434\u0432\u0435\u0440\ + \u0436\u0435\u043D\u044B DeltaPressure." + type: Tweak + - message: "\u0423\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u043E \u043A\u043E\u043B\ + \u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043F\u0440\u0435\u0434\u0430\u0442\ + \u0435\u043B\u0435\u0439 \u043F\u0440\u0438 \u0432\u044B\u0441\u043E\u043A\u043E\ + \u043C \u043E\u043D\u043B\u0430\u0439\u043D\u0435." + type: Tweak + id: 1649 + time: '2026-01-31T22:27:45.0000000+00:00' + url: https://github.com/space-sunrise/sunrise-station/pull/3832 From 72fa1f6abbeb56c01d37232a1643cb99e8508461 Mon Sep 17 00:00:00 2001 From: KaiserMaus Date: Sun, 1 Feb 2026 00:21:22 +0000 Subject: [PATCH 10/15] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=D1=8B=20=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=D1=81=D0=BE=D0=B2=20=D0=B2=D1=81=D1=8F=D0=BA=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=20(#3834)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entities/objects/misc/implanters.ftl | 2 +- .../_strings/_sunrise/store/uplink-catalog.ftl | 4 ++-- Resources/Prototypes/GameRules/roundstart.yml | 4 ++-- .../Entities/Objects/Specific/Mech/mechs.yml | 1 + .../Objects/Weapons/Guns/Snipers/snipers.yml | 2 +- Resources/Prototypes/_Sunrise/NPCs/pirates.yml | 18 +++++++++--------- .../Guidebook/_Sunrise/DetonatorTriggers.xml | 4 ++-- 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/misc/implanters.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/misc/implanters.ftl index 0ad80d3907..decffe7aa2 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/misc/implanters.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/misc/implanters.ftl @@ -11,5 +11,5 @@ ent-DeathRattleImplanterFreelance = { ent-Implanter } .suffix = Фриланс, предсмертный хрип .desc = { ent-BaseImplantOnlyImplanterSyndi.desc } ent-ScramImplanterProto = { ent-ScramImplanter } - .suffix = прототип побег + .suffix = прототип побега .desc = { ent-ScramImplanter.desc } diff --git a/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl index 6c11a2a434..ca33d7d428 100644 --- a/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl @@ -206,8 +206,8 @@ uplink-smoke-screen-implanter-name = Имплантер Дымовой Заве uplink-smoke-screen-implanter-desc = Создает небольшое облако дыма, в котором вы можете скрыться. Можно использовать до трех раз, прежде чем у вас закончится газ. uplink-creepy-laugh-implanter-name = Имплантер Жуткого Смеха uplink-creepy-laugh-implanter-desc = Аудиоимплант, воспроизводящий фирменный смех синди-киборга. Раздражает, пугает, стиль гарантирован. -uplink-scram-implanter-proto-name = Имплантер Прототип-Побег -uplink-scram-implanter-proto-desc = Имплант с й зарядом и огромной перезарядкой в 15 минут. Телепортирует вас в крупном радиусе, пытается перенести на свободную клетку, иногда может сбоить. Он точно безопасен? +uplink-scram-implanter-proto-name = Имплантер Прототип-Побега +uplink-scram-implanter-proto-desc = Имплант на 1 заряд и огромной перезарядкой в 15 минут. Телепортирует вас в крупном радиусе, пытается перенести на свободную клетку, иногда может сбоить. Он точно безопасен? ## Ammo Kits and Bundle diff --git a/Resources/Prototypes/GameRules/roundstart.yml b/Resources/Prototypes/GameRules/roundstart.yml index ec9039ae6d..3df1dd24f5 100644 --- a/Resources/Prototypes/GameRules/roundstart.yml +++ b/Resources/Prototypes/GameRules/roundstart.yml @@ -371,8 +371,8 @@ - type: SubGamemodes rules: - id: RevolutionarySmugglerStashSpawn - amount: 3 - maxAmount: 9 + amount: 6 + maxAmount: 15 # Sunrise-End - type: DynamicRuleCost cost: 200 diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml index 472eb2ed1b..893df3fa9c 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml @@ -145,6 +145,7 @@ - type: Tag tags: - DoorBumpOpener + - FootstepSound # region Mech Pod - type: entity diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Snipers/snipers.yml index 23833cd106..612d02f7a8 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Snipers/snipers.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Weapons/Guns/Snipers/snipers.yml @@ -45,7 +45,7 @@ priority: 2 whitelist: tags: - - MagazineDragunovSP + - MagazineDragunov gun_chamber: name: Chamber startingItem: CartridgeHeavyRifleRFMJ diff --git a/Resources/Prototypes/_Sunrise/NPCs/pirates.yml b/Resources/Prototypes/_Sunrise/NPCs/pirates.yml index bcdb004d36..9d388ad715 100644 --- a/Resources/Prototypes/_Sunrise/NPCs/pirates.yml +++ b/Resources/Prototypes/_Sunrise/NPCs/pirates.yml @@ -1162,7 +1162,7 @@ - type: entity name: Scrap boarder - description: Rookie raider sent first through the breach. Usually doesnt come back, but makes a great distraction. + description: Rookie raider sent first through the breach. Usually doesnt come back, but makes a great distraction. parent: [MobMovementSpeedModifierEVAMelee, MobPirateBase, MobPirateSparkEffectBase] id: MobPirateT1Knife components: @@ -1632,7 +1632,7 @@ - type: entity name: Scrap raider - description: Loves guns. Has built as many weapons with his own hands as hes blown up. Armed with an improvised SMG. + description: Loves guns. Has built as many weapons with his own hands as he�s blown up. Armed with an improvised SMG. parent: [MobMovementSpeedModifierEVARanged, MobPirateBase] id: MobPirateT1ScrapSMG components: @@ -1675,7 +1675,7 @@ name: Scrap Automatic parent: [MobMovementSpeedModifierEVARanged, MobPirateBase] id: MobPirateT1ScrapRifle - description: In a team where everyone is armed with whatever they could grab, he picked up a rifle at least it used to be one + description: In a team where everyone is armed with whatever they could grab, he picked up a rifle � at least it used to be one� components: - type: Loadout prototypes: @@ -1724,7 +1724,7 @@ name: Scrap raider parent: [MobMovementSpeedModifierEVARanged, MobPirateBase] id: MobPirateT1SMG - description: In a team where everyone is armed with whatever they could grab, he picked up a rifle at least it used to be one + description: In a team where everyone is armed with whatever they could grab, he picked up a rifle � at least it used to be one� components: - type: Loadout prototypes: @@ -2129,7 +2129,7 @@ - type: entity name: pirate breacher - description: A boarding team member armed with a sledgehammer, capable of breaking through an airlock or someones skull. + description: A boarding team member armed with a sledgehammer, capable of breaking through an airlock � or someone�s skull. parent: [MobMovementSpeedModifierEVAMelee, MobPirateBaseT2Melee] id: MobPirateT2Sledgehammer components: @@ -2485,7 +2485,7 @@ - type: entity name: Shrap'nel Thunder - description: Turns everything into cheese with holes. Claims that shrapnel is just another form of art. + description: Turns everything into cheese with holes. Claims that �shrapnel is just another form of art. parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT2Ranged] id: MobPirateT2Grapeshot components: @@ -3136,7 +3136,7 @@ - type: entity name: Scrapshade - description: Boo! Scared? Dont worry, I wont hurt you. + description: Boo! Scared? Don�t worry, I won�t hurt you. parent: MobPirateT3DMR id: MobPirateT3Infiltrator components: @@ -3539,7 +3539,7 @@ - type: entity name: Privateer grenadier - description: Covered in fireworks and explosives. Hasnt heard of safety regulations or just ignores them loudly. + description: Covered in fireworks and explosives. Hasn�t heard of safety regulations or just ignores them loudly. parent: [MobMovementSpeedModifierEVARanged, MobPirateBaseT3Ranged] id: MobPirateT3Grenadier components: @@ -3622,7 +3622,7 @@ # region Tier 1-3 Boss - type: entity name: Captain Rustfist - description: An old salvage veteran, more metal than man. His fists creak, his armors held together by bolts and faith, and if he swings at you, its best to play dead and hope he buys it. + description: An old salvage veteran, more metal than man. His fists creak, his armor�s held together by bolts and faith, and if he swings at you, it�s best to play dead and hope he buys it. parent: [MobHostileBossBase, MobPirateBase, MobPirateSparkEffectBase] id: MobPirateT1Boss components: diff --git a/Resources/ServerInfo/Guidebook/_Sunrise/DetonatorTriggers.xml b/Resources/ServerInfo/Guidebook/_Sunrise/DetonatorTriggers.xml index d86d8a04d2..89c53be1b4 100644 --- a/Resources/ServerInfo/Guidebook/_Sunrise/DetonatorTriggers.xml +++ b/Resources/ServerInfo/Guidebook/_Sunrise/DetonatorTriggers.xml @@ -20,7 +20,7 @@ - 2. Проложите взрывной шнур по полу в месте где вы ходите создать контролируемый взрыв для разрушения. Взрыв мощный чтобы проломить стену, но достаточно небольшого радиуса дабы не задеть вас. + 2. Проложите взрывной шнур по полу в месте где вы хотите создать контролируемый взрыв для разрушения. Взрыв мощный, чтобы проломить стену, но достаточно небольшого радиуса дабы не задеть вас. @@ -35,4 +35,4 @@ - 3. Активируйте заранее таймер-триггер для подрыва связки и прикрепите его к напольному шнуру либо прикрепите готовый детонатор с иными типами трикеров заранее и взорвите на удалении. + 3. Активируйте заранее таймер-триггер для подрыва связки и прикрепите его к напольному шнуру либо прикрепите готовый детонатор с иными типами триггеров заранее и взорвите на удалении. From d4cf0a13ae58a86627441cb5629c4a62ae400df6 Mon Sep 17 00:00:00 2001 From: Vigers Ray <60344369+VigersRay@users.noreply.github.com> Date: Sun, 1 Feb 2026 01:55:47 +0100 Subject: [PATCH 11/15] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=9C=D0=B5=D1=81=D1=81=D0=B5=D0=BD=D0=B6?= =?UTF-8?q?=D0=B5=D1=80=D0=B0,=20=D1=84=D0=BE=D1=82=D0=BE=D0=B0=D0=BF?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=82=D0=B0.=20(#3833)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Cartridges/NewsReaderUiFragment.xaml | 12 +- .../Cartridges/NewsReaderUiFragment.xaml.cs | 86 +++- Content.Client/Lobby/UI/LobbyGui.xaml.cs | 1 + .../MassMedia/Ui/ArticleEditorPanel.xaml | 28 +- .../MassMedia/Ui/ArticleEditorPanel.xaml.cs | 155 +++++- .../Ui/NewsWriterBoundUserInterface.cs | 66 ++- .../MassMedia/Ui/NewsWriterMenu.xaml | 6 +- .../MassMedia/Ui/PhotoSelectorWindow.xaml | 5 + .../MassMedia/Ui/PhotoSelectorWindow.xaml.cs | 60 +++ .../Systems/Chat/ChatUIController.cs | 52 ++ .../Chat/Controls/ChatInputBox.xaml.cs | 23 + .../Systems/Chat/Widgets/ChatBox.xaml.cs | 62 ++- Content.Client/Viewport/ScalingViewport.cs | 19 + .../Cartridges/AddUserDialog.xaml.cs | 62 ++- .../Cartridges/MessagePanel.xaml.cs | 22 +- .../Cartridges/MessengerUiFragment.xaml.cs | 464 +----------------- .../Cartridges/PhotoCaptureOverlay.cs | 11 +- .../Cartridges/PhotoCartridgeClientSystem.cs | 144 +++--- .../Cartridges/PhotoUiFragment.xaml.cs | 10 +- Content.Client/_Sunrise/NetTexturesManager.cs | 86 ++-- .../CustomControls/EmojiPickerWindow.cs | 398 +++++++++++++++ .../CustomControls/PhotoPreviewWindow.cs | 34 ++ .../Anomaly/AnomalySystem.Generator.cs | 8 +- Content.Server/Anomaly/AnomalySystem.cs | 2 + .../Cargo/Systems/CargoSystem.Orders.cs | 12 +- Content.Server/Cargo/Systems/CargoSystem.cs | 2 + .../Systems/CriminalRecordsConsoleSystem.cs | 15 +- .../Components/NewsWriterComponent.cs | 6 + .../MassMedia/Systems/NewsSystem.cs | 37 +- .../Systems/ResearchSystem.Console.cs | 28 +- .../Research/Systems/ResearchSystem.cs | 4 + Content.Server/Salvage/SalvageSystem.cs | 12 +- .../Borgs/BorgSwitchableTypeSystem.cs | 14 +- .../GeneralStationRecordConsoleSystem.cs | 2 + .../Trigger/Systems/RattleOnTriggerSystem.cs | 20 +- .../Energy/Supermatter/SupermatterSystem.cs | 22 +- .../AddWantedStatus/AddWantedStatusSystem.cs | 12 +- ...MessengerCartridgeSystem.PacketHandlers.cs | 56 ++- .../Cartridges/PhotoCartridgeSystem.cs | 71 +-- .../MessengerServerSystem.Messages.cs | 75 +++ .../MessengerServerSystem.UserRegistration.cs | 58 +-- .../Messenger/MessengerServerSystem.cs | 41 +- Content.Server/_Sunrise/NetTexturesManager.cs | 12 +- .../GeneralStationRecordConsoleSystem.cs | 10 +- .../Components/NewsWriterBuiMessages.cs | 29 +- .../MassMedia/Systems/SharedNewsSystem.cs | 3 + .../Cartridges/PdaPhotoCaptureMessage.cs | 7 + .../Messenger/MessengerAutoGroupPrototype.cs | 7 + .../_Sunrise/Messenger/MessengerUser.cs | 13 +- .../_strings/cartridge-loader/messenger.ftl | 4 + .../en-US/_strings/mass-media/news-ui.ftl | 4 + .../_strings/cartridge-loader/messenger.ftl | 4 + .../ru-RU/_strings/mass-media/news-ui.ftl | 4 + .../Entities/Objects/Devices/pda.yml | 5 - .../_Sunrise/Entities/Effects/photo.yml | 2 +- .../_Sunrise/Messenger/auto_groups.yml | 8 + .../Prototypes/_Sunrise/Messenger/smiles.yml | 6 + .../Interface/Misc/big_smiles.rsi/meta.json | 4 +- .../Interface/Misc/smiles.rsi/meta.json | 17 +- .../Interface/Misc/smiles.rsi/skull.png | Bin 0 -> 1055 bytes 60 files changed, 1666 insertions(+), 776 deletions(-) create mode 100644 Content.Client/MassMedia/Ui/PhotoSelectorWindow.xaml create mode 100644 Content.Client/MassMedia/Ui/PhotoSelectorWindow.xaml.cs create mode 100644 Content.Client/_Sunrise/UserInterface/CustomControls/EmojiPickerWindow.cs create mode 100644 Content.Client/_Sunrise/UserInterface/CustomControls/PhotoPreviewWindow.cs create mode 100644 Resources/Textures/_Sunrise/Interface/Misc/smiles.rsi/skull.png diff --git a/Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml b/Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml index fd5a7bb161..0371e427fa 100644 --- a/Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml +++ b/Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml @@ -43,14 +43,12 @@ MinSize="0 0" SizeFlagsStretchRatio="2" VerticalExpand="True"> - + + + + - + diff --git a/Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml.cs b/Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml.cs index f76adfb866..a3b4a1acdb 100644 --- a/Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml.cs +++ b/Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml.cs @@ -1,18 +1,24 @@ +using Content.Client._Sunrise.UserInterface.CustomControls; using Content.Client.Message; using Content.Client.RichText; -using Content.Client.UserInterface.RichText; using Content.Shared.MassMedia.Systems; using Robust.Client.AutoGenerated; using Robust.Client.UserInterface.Controls; -using Robust.Client.UserInterface.RichText; using Robust.Client.UserInterface.XAML; using Robust.Shared.Utility; +using Content.Client._Sunrise; +using Robust.Client.ResourceManagement; +using Robust.Client.Graphics; +using Robust.Client.UserInterface; namespace Content.Client.CartridgeLoader.Cartridges; [GenerateTypedNameReferences] public sealed partial class NewsReaderUiFragment : BoxContainer { + [Dependency] private readonly NetTexturesManager _netTexturesManager = default!; + [Dependency] private readonly IResourceCache _resourceCache = default!; + public event Action? OnNextButtonPressed; public event Action? OnPrevButtonPressed; @@ -21,6 +27,7 @@ public sealed partial class NewsReaderUiFragment : BoxContainer public NewsReaderUiFragment() { RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); Next.OnPressed += _ => OnNextButtonPressed?.Invoke(); Prev.OnPressed += _ => OnPrevButtonPressed?.Invoke(); @@ -47,6 +54,81 @@ public sealed partial class NewsReaderUiFragment : BoxContainer var author = Loc.GetString("news-read-ui-author-prefix") + " " + (article.Author ?? Loc.GetString("news-read-ui-no-author")); Author.SetMessage(FormattedMessage.FromMarkupPermissive(author), UserFormattableTags.BaseAllowedTags); + // Sunrise-Start + ArticlePhotosContainer.Children.Clear(); + if (article.PhotoPaths != null) + { + foreach (var path in article.PhotoPaths) + { + var photoButton = new ContainerButton + { + HorizontalExpand = true, + Margin = new Thickness(0, 4), + DefaultCursorShape = Control.CursorShape.Hand + }; + + var border = new PanelContainer + { + HorizontalExpand = true, + PanelOverride = new StyleBoxFlat + { + BackgroundColor = Color.Transparent, + BorderColor = Color.Transparent, + BorderThickness = new Thickness(2) + } + }; + + var textureRect = new TextureRect + { + HorizontalExpand = true, + Stretch = TextureRect.StretchMode.KeepAspectCentered, + MinHeight = 150 + }; + + border.AddChild(textureRect); + photoButton.AddChild(border); + ArticlePhotosContainer.AddChild(photoButton); + + photoButton.OnPressed += _ => PhotoPreviewWindow.Open(textureRect.Texture); + + photoButton.OnMouseEntered += _ => + { + if (border.PanelOverride is StyleBoxFlat style) + { + style.BorderColor = Color.White.WithAlpha(0.4f); + } + }; + + photoButton.OnMouseExited += _ => + { + if (border.PanelOverride is StyleBoxFlat style) + { + style.BorderColor = Color.Transparent; + } + }; + + if (_netTexturesManager.EnsureResource(path)) + { + var uploaded = _netTexturesManager.GetUploadedPath(path); + if (_resourceCache.TryGetResource(uploaded, out var tex)) + textureRect.Texture = tex.Texture; + } + else + { + void OnLoaded(string loadedPath) + { + if (loadedPath != path) return; + var uploaded = _netTexturesManager.GetUploadedPath(path); + if (_resourceCache.TryGetResource(uploaded, out var tex)) + textureRect.Texture = tex.Texture; + _netTexturesManager.ResourceLoaded -= OnLoaded; + } + _netTexturesManager.ResourceLoaded += OnLoaded; + } + } + } + // Sunrise-End + Prev.Disabled = targetNum <= 1; Next.Disabled = targetNum >= totalNum; } diff --git a/Content.Client/Lobby/UI/LobbyGui.xaml.cs b/Content.Client/Lobby/UI/LobbyGui.xaml.cs index b6a6ed861c..c8dcb7698a 100644 --- a/Content.Client/Lobby/UI/LobbyGui.xaml.cs +++ b/Content.Client/Lobby/UI/LobbyGui.xaml.cs @@ -154,6 +154,7 @@ namespace Content.Client.Lobby.UI _configurationManager.OnValueChanged(SunriseCCVars.ServerName, OnServerNameChanged, true); Chat.SetChatOpacity(); + Chat.ToggleEmojiButton(true); // Sunrise-Add ServerName.Text = Loc.GetString("ui-lobby-welcome", ("name", _serverName)); LoadIcons(); diff --git a/Content.Client/MassMedia/Ui/ArticleEditorPanel.xaml b/Content.Client/MassMedia/Ui/ArticleEditorPanel.xaml index d12b90918b..480ac024f0 100644 --- a/Content.Client/MassMedia/Ui/ArticleEditorPanel.xaml +++ b/Content.Client/MassMedia/Ui/ArticleEditorPanel.xaml @@ -40,6 +40,24 @@ + + +