From 0400ffa8e30ad5e27a3850baa41bae737281755f Mon Sep 17 00:00:00 2001 From: Cepelinas1 Date: Sun, 10 May 2026 02:04:25 +0300 Subject: [PATCH] Customizable sec belt/webbing inventory (#5701) * first * fix * spacing Signed-off-by: Cepelinas1 * forgot ftl --------- Signed-off-by: Cepelinas1 --- .../en-US/_DV/preferences/loadout-groups.ftl | 1 + .../Jobs/Security/security_officer.yml | 4 +- .../Prototypes/Loadouts/role_loadouts.yml | 3 ++ .../Nyanotrasen/Loadouts/role_loadouts.yml | 1 + .../_DV/Catalog/Fills/Items/Belts/belts.yml | 24 ++++++++++ .../Jobs/Security/security_officer.yml | 44 +++++++++++++++++++ .../_DV/Loadouts/loadout_groups.yml | 15 +++++++ 7 files changed, 90 insertions(+), 2 deletions(-) diff --git a/Resources/Locale/en-US/_DV/preferences/loadout-groups.ftl b/Resources/Locale/en-US/_DV/preferences/loadout-groups.ftl index 64c44af125..d737ebe542 100644 --- a/Resources/Locale/en-US/_DV/preferences/loadout-groups.ftl +++ b/Resources/Locale/en-US/_DV/preferences/loadout-groups.ftl @@ -140,6 +140,7 @@ loadout-group-all-gun = Security Sidearm loadout-group-security-gun-ammo = Ammunition loadout-group-revolver-ammo = Ammunition loadout-group-all-ammo = Ammunition +security-utility = Utility # Justice loadout-group-chiefjustice-head = Chief Justice head diff --git a/Resources/Prototypes/Loadouts/Jobs/Security/security_officer.yml b/Resources/Prototypes/Loadouts/Jobs/Security/security_officer.yml index 6fe33f080b..f120bcb44d 100644 --- a/Resources/Prototypes/Loadouts/Jobs/Security/security_officer.yml +++ b/Resources/Prototypes/Loadouts/Jobs/Security/security_officer.yml @@ -86,12 +86,12 @@ - type: loadout id: SecurityBelt equipment: - belt: ClothingBeltSecurityFilled + belt: ClothingBeltSecurityBeltCustom # DeltaV - loadouts - type: loadout id: SecurityWebbing equipment: - belt: ClothingBeltSecurityWebbingFilled + belt: ClothingBeltSecurityWebbingCustom # DeltaV - loadouts # Outerclothing - type: loadout diff --git a/Resources/Prototypes/Loadouts/role_loadouts.yml b/Resources/Prototypes/Loadouts/role_loadouts.yml index 8101b5696b..821eacb7d0 100644 --- a/Resources/Prototypes/Loadouts/role_loadouts.yml +++ b/Resources/Prototypes/Loadouts/role_loadouts.yml @@ -413,6 +413,7 @@ - GroupSpeciesBreathToolSecurity - SecurityAllFirearm # DeltaV - loadouts - SecurityAllAmmo # DeltaV - loadouts + - SecurityUtility # DeltaV - loadouts - type: roleLoadout id: JobWarden @@ -432,6 +433,7 @@ - GroupSpeciesBreathToolSecurity - SecurityAllFirearm # DeltaV - loadouts - SecurityAllAmmo # DeltaV - loadouts + - SecurityUtility # DeltaV - loadouts - type: roleLoadout id: JobSecurityOfficer @@ -452,6 +454,7 @@ - GroupSpeciesBreathToolSecurity - SecurityFirearm # DeltaV - loadouts - SecurityFirearmAmmo # DeltaV - loadouts + - SecurityUtility # DeltaV - loadouts - type: roleLoadout id: JobDetective diff --git a/Resources/Prototypes/Nyanotrasen/Loadouts/role_loadouts.yml b/Resources/Prototypes/Nyanotrasen/Loadouts/role_loadouts.yml index ebdc5b9e98..cd74fa0190 100644 --- a/Resources/Prototypes/Nyanotrasen/Loadouts/role_loadouts.yml +++ b/Resources/Prototypes/Nyanotrasen/Loadouts/role_loadouts.yml @@ -44,6 +44,7 @@ - GroupSpeciesBreathToolSecurity - SecurityFirearm # DeltaV - loadouts - SecurityFirearmAmmo # DeltaV - loadouts + - SecurityUtility # Wildcards - type: roleLoadout diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Items/Belts/belts.yml b/Resources/Prototypes/_DV/Catalog/Fills/Items/Belts/belts.yml index 862558a92f..2e9faee19a 100644 --- a/Resources/Prototypes/_DV/Catalog/Fills/Items/Belts/belts.yml +++ b/Resources/Prototypes/_DV/Catalog/Fills/Items/Belts/belts.yml @@ -25,6 +25,30 @@ - id: SyringeEphedrine - id: EmergencyMedipen +- type: entity + id: ClothingBeltSecurityBeltCustom + parent: ClothingBeltSecurity + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: Stunbaton + - id: Handcuffs + +- type: entity + id: ClothingBeltSecurityWebbingCustom + parent: ClothingBeltSecurityWebbing + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: Stunbaton + - id: Handcuffs + - type: entity id: ClothingBeltFoamSheathFilled parent: ClothingBeltFoamSheath diff --git a/Resources/Prototypes/_DV/Loadouts/Jobs/Security/security_officer.yml b/Resources/Prototypes/_DV/Loadouts/Jobs/Security/security_officer.yml index 587666d2cd..4357ead235 100644 --- a/Resources/Prototypes/_DV/Loadouts/Jobs/Security/security_officer.yml +++ b/Resources/Prototypes/_DV/Loadouts/Jobs/Security/security_officer.yml @@ -145,3 +145,47 @@ id: SecurityClothingHandsGlovesFingerless equipment: gloves: ClothingHandsGlovesFingerless + +# SecBelt utility + +- type: loadout + id: FlashBangLoadout + storage: + belt: + - GrenadeFlashBang + +- type: loadout + id: TearGasLoadout + storage: + belt: + - TearGasGrenade + +- type: loadout + id: SecHoloProjectorLoadout + storage: + belt: + - HoloprojectorSecurity + +- type: loadout + id: StingerGrenadeLoadout + storage: + belt: + - GrenadeStinger + +- type: loadout + id: RadioHandheldSecurityLoadout + storage: + belt: + - RadioHandheldSecurity + +- type: loadout + id: HandcuffsLoadout + storage: + belt: + - Handcuffs + +- type: loadout + id: SecLiteLoadout + storage: + belt: + - FlashlightSeclite diff --git a/Resources/Prototypes/_DV/Loadouts/loadout_groups.yml b/Resources/Prototypes/_DV/Loadouts/loadout_groups.yml index 6f9b5f5ed9..a49067dc6c 100644 --- a/Resources/Prototypes/_DV/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/_DV/Loadouts/loadout_groups.yml @@ -414,6 +414,21 @@ - SecurityFirearmSpeedLoaderSpecialRubber - SecurityFirearmSpeedLoaderSpecial +## Security utility +- type: loadoutGroup + id: SecurityUtility + name: security-utility + minLimit: 0 + maxLimit: 4 + loadouts: + - FlashBangLoadout + - TearGasLoadout + - StingerGrenadeLoadout + - RadioHandheldSecurityLoadout + - SecHoloProjectorLoadout + - HandcuffsLoadout + - SecLiteLoadout + ## Security Gloves - type: loadoutGroup id: SecurityGloves