From bcde4cb839f3e33e40f552a2346dbb9ce397180c Mon Sep 17 00:00:00 2001 From: stranth Date: Fri, 10 Jul 2026 16:41:14 -0300 Subject: [PATCH 1/2] USSP Loadout Chatranks --- Resources/Locale/en-US/_Mono/rank/ranks.ftl | 23 +++++-- .../USSP/Specifics/Ranks/rank_groups.yml | 36 +++++++++++ .../Specifics/Ranks/ranks_ussp_commissar.yml | 44 +++++++++++++ .../Specifics/Ranks/ranks_ussp_rifleman.yml | 44 +++++++++++++ .../Specifics/Ranks/ranks_ussp_serzhant.yml | 63 +++++++++++++++++++ .../Loadouts/USSP/role_loadouts_ussp.yml | 3 + .../commissar.yml | 2 - .../rifleman.yml | 2 - .../sergeant.yml | 2 - 9 files changed, 209 insertions(+), 10 deletions(-) create mode 100644 Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/rank_groups.yml create mode 100644 Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_commissar.yml create mode 100644 Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_rifleman.yml create mode 100644 Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_serzhant.yml diff --git a/Resources/Locale/en-US/_Mono/rank/ranks.ftl b/Resources/Locale/en-US/_Mono/rank/ranks.ftl index 361925251cb..f5292f2a04a 100644 --- a/Resources/Locale/en-US/_Mono/rank/ranks.ftl +++ b/Resources/Locale/en-US/_Mono/rank/ranks.ftl @@ -51,10 +51,25 @@ pdv-denasvar = Dns. pdv-asvaran = Asv. pdv-vizier = Grand Vizier -### USSP ranks -ussp-rifleman = Rfl. -ussp-sergeant = Srz. -ussp-commissar = Commissar +### USSP loadout ranks + +### Rifleman Ranks +ussp-or1 = Ryad. +ussp-or2 = Efr. + +### Shared Rifle/Serzhant (Corporal Equivalent) +ussp-or3 = MSzt. + +### Serzhant Ranks +ussp-or4 = Szt. +ussp-or5 = SSzt. +ussp-or6 = Sts. + +### Comissar Ranks +ussp-cm1 = Pol. +ussp-cm2 = SPol. +ussp-cm3 = BKom. + ### VG ranks vg-infanteer = Inf. diff --git a/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/rank_groups.yml b/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/rank_groups.yml new file mode 100644 index 00000000000..eb37444960a --- /dev/null +++ b/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/rank_groups.yml @@ -0,0 +1,36 @@ +- type: loadoutGroup + id: UsspRanksRifleman + name: loadout-group-chatrank + minLimit: 1 + maxLimit: 1 + loadouts: + - UsspRankOR1 + - UsspRankOR2 + - UsspRankOR3TimeLock100HR + fallbacks: + - UsspRankOR1 + +- type: loadoutGroup + id: UsspRanksSerzhant + name: loadout-group-chatrank + minLimit: 1 + maxLimit: 1 + loadouts: + - UsspRankOR3 + - UsspRankOR4 + - UsspRankOR5 + - UsspRankOR6 + fallbacks: + - UsspRankOR3 + +- type: loadoutGroup + id: UsspRanksCommissar + name: loadout-group-chatrank + minLimit: 1 + maxLimit: 1 + loadouts: + - UsspRankCM1 + - UsspRankCM2 + - UsspRankCM3 + fallbacks: + - UsspRankCM1 diff --git a/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_commissar.yml b/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_commissar.yml new file mode 100644 index 00000000000..add7b2e1df9 --- /dev/null +++ b/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_commissar.yml @@ -0,0 +1,44 @@ +- type: loadout + id: UsspRankCM1 + name: USSP CM-1 (Politruk) + components: + - type: ChatRank + rank: ussp-cm1 + +- type: loadout + id: UsspRankCM2 + name: USSP CM-2 (Starshiy Politruk) + effects: + - !type:GroupLoadoutEffect + proto: UsspStPol + components: + - type: ChatRank + rank: ussp-cm2 + +- type: loadoutEffectGroup + id: UsspStPol + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobUSSPCommissar + time: 180000 # 50hr + +- type: loadout + id: UsspRankCM3 + name: USSP CM-3 (Batalionny Komissar) + effects: + - !type:GroupLoadoutEffect + proto: UsspBKom + components: + - type: ChatRank + rank: ussp-cm3 + +- type: loadoutEffectGroup + id: UsspBKom + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobUSSPCommissar + time: 360000 # 100hr diff --git a/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_rifleman.yml b/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_rifleman.yml new file mode 100644 index 00000000000..9b78946d1d3 --- /dev/null +++ b/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_rifleman.yml @@ -0,0 +1,44 @@ +- type: loadout + id: UsspRankOR1 + name: USSP OR-1 (Ryadovoy) + components: + - type: ChatRank + rank: ussp-or1 + +- type: loadout + id: UsspRankOR2 + name: USSP OR-2 (Efreitor) + effects: + - !type:GroupLoadoutEffect + proto: UsspEfr + components: + - type: ChatRank + rank: ussp-or2 + +- type: loadoutEffectGroup + id: UsspEfr + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobUSSPRifleman + time: 108000 # 30hr + +- type: loadout + id: UsspRankOR3TimeLock100HR + name: USSP OR-3 (Mladshiy Serzhant) + effects: + - !type:GroupLoadoutEffect + proto: UsspMSzt100hr + components: + - type: ChatRank + rank: ussp-or3 + +- type: loadoutEffectGroup + id: UsspMSzt100hr + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobUSSPRifleman + time: 360000 # 100hr diff --git a/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_serzhant.yml b/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_serzhant.yml new file mode 100644 index 00000000000..2830bae6614 --- /dev/null +++ b/Resources/Prototypes/_Mono/Loadouts/USSP/Specifics/Ranks/ranks_ussp_serzhant.yml @@ -0,0 +1,63 @@ +- type: loadout + id: UsspRankOR3 + name: USSP OR-3 (Mladshiy Serzhant) + components: + - type: ChatRank + rank: ussp-or3 + +- type: loadout + id: UsspRankOR4 + name: USSP OR-4 (Serzhant) + effects: + - !type:GroupLoadoutEffect + proto: UsspSzt + components: + - type: ChatRank + rank: ussp-or4 + +- type: loadoutEffectGroup + id: UsspSzt + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobUSSPSergeant + time: 36000 # 10hr + +- type: loadout + id: UsspRankOR5 + name: USSP OR-5 (Starshiy Serzhant) + effects: + - !type:GroupLoadoutEffect + proto: UsspStSzt + components: + - type: ChatRank + rank: ussp-or5 + +- type: loadoutEffectGroup + id: UsspStSzt + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobUSSPSergeant + time: 180000 # 50hr + +- type: loadout + id: UsspRankOR6 + name: USSP OR-6 (Starshina) + effects: + - !type:GroupLoadoutEffect + proto: UsspSts + components: + - type: ChatRank + rank: ussp-or6 + +- type: loadoutEffectGroup + id: UsspSts + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobUSSPSergeant + time: 360000 # 100hr diff --git a/Resources/Prototypes/_Mono/Loadouts/USSP/role_loadouts_ussp.yml b/Resources/Prototypes/_Mono/Loadouts/USSP/role_loadouts_ussp.yml index ec19b1b6a8c..72b011ca21a 100644 --- a/Resources/Prototypes/_Mono/Loadouts/USSP/role_loadouts_ussp.yml +++ b/Resources/Prototypes/_Mono/Loadouts/USSP/role_loadouts_ussp.yml @@ -26,6 +26,7 @@ - ContractorArmorPlates - UsspFirearm - UsspMag + - UsspRanksRifleman - type: roleLoadout id: JobUSSPSergeant @@ -55,6 +56,7 @@ - ContractorArmorPlates - UsspFirearm - UsspMag + - UsspRanksSerzhant - type: roleLoadout id: JobUSSPCommissar @@ -84,3 +86,4 @@ - ContractorArmorPlates - UsspFirearm - UsspMag + - UsspRanksCommissar diff --git a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/commissar.yml b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/commissar.yml index 724cb31a00b..2f62a4623c0 100644 --- a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/commissar.yml +++ b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/commissar.yml @@ -32,8 +32,6 @@ - type: NpcFactionMember factions: - USSP - - type: ChatRank - rank: ussp-commissar - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic diff --git a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/rifleman.yml b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/rifleman.yml index 65d77dfeeb4..79018302b6a 100644 --- a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/rifleman.yml +++ b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/rifleman.yml @@ -26,8 +26,6 @@ - type: NpcFactionMember factions: - USSP - - type: ChatRank - rank: ussp-rifleman - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic diff --git a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/sergeant.yml b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/sergeant.yml index da801360bbd..bbf8b69c50d 100644 --- a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/sergeant.yml +++ b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/sergeant.yml @@ -29,8 +29,6 @@ - type: NpcFactionMember factions: - USSP - - type: ChatRank - rank: ussp-sergeant - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic From 3c1c989d9b7b47dd5d23e204d4d2c51734188ef0 Mon Sep 17 00:00:00 2001 From: stranth Date: Mon, 13 Jul 2026 02:18:12 -0300 Subject: [PATCH 2/2] small rank prefix changes --- Resources/Locale/en-US/_Mono/rank/ranks.ftl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Locale/en-US/_Mono/rank/ranks.ftl b/Resources/Locale/en-US/_Mono/rank/ranks.ftl index 4714783f870..d181fe145ad 100644 --- a/Resources/Locale/en-US/_Mono/rank/ranks.ftl +++ b/Resources/Locale/en-US/_Mono/rank/ranks.ftl @@ -59,16 +59,16 @@ ussp-or1 = Ryad. ussp-or2 = Efr. ### Shared Rifle/Serzhant (Corporal Equivalent) -ussp-or3 = MSzt. +ussp-or3 = MlSrz. ### Serzhant Ranks -ussp-or4 = Szt. -ussp-or5 = SSzt. +ussp-or4 = Srz. +ussp-or5 = StSrz. ussp-or6 = Sts. ### Comissar Ranks ussp-cm1 = Pol. -ussp-cm2 = SPol. +ussp-cm2 = StPol. ussp-cm3 = BKom.