Lets jackets as a whole clothing category carry handguns and holsters, improvised weapons on a few more 'assistant' clothing options, and minor changes (#92833)

## About The Pull Request

Jackets as a category now can carry handguns like pistols and revolvers
and can hold holsters in their suit storage. This also includes hawaiian
shirts and comedian coats.

More 'assistant' jackets can carry improvised firearms.

Justice suits (which are actually security vests in disguise if you can
believe it) hold security gear.

Imperium monk outfits now hold the true list of chaplain suit storage
items, and not just a limited list.

## Why It's Good For The Game

These lists were kind of a mess so using some more consistent holder
lists should make things easier going forward for making sure suits
across a category are at least consistent with one another. Redefining
the allowed list usually means a lot of items get lost from parent to
child.

The additions were either potentially oversights, or are because of
either for reference or trope reasons.

I actually think I overlooked the imperium suit last time I touched
chaplain clothing suit storage.

## Changelog
🆑
balance: Jackets can carry personal firearms and holsters in their suit
storage. So can hawaiian shirts and comedian suits.
balance: More 'assistant' attire can fit improvised weapons.
balance: Justice suits can fit security items in their suit storage.
fix: Imperium monk outfits now hold the true list of chaplain suit
storage items, and not just a limited list.
/🆑

---------

Co-authored-by: 1393F <59183821+1393F@users.noreply.github.com>
This commit is contained in:
necromanceranne
2025-09-11 09:06:28 +12:00
committed by GitHub
co-authored by 1393F
parent 72a7e6485b
commit e67ab69e5a
3 changed files with 71 additions and 60 deletions
+17
View File
@@ -310,6 +310,23 @@ GLOBAL_LIST_INIT(mining_suit_allowed, list(
/obj/item/spear,
))
// Allowed list for personal carry firearms and holsters
GLOBAL_LIST_INIT(personal_carry_allowed, list(
/obj/item/storage/belt/holster,
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/gun/ballistic/revolver,
/obj/item/gun/energy/disabler/smoothbore,
))
/// Allowed list for improvised firearms
GLOBAL_LIST_INIT(improvised_firearm_allowed, list(
/obj/item/gun/ballistic/rifle/boltaction/pipegun,
/obj/item/gun/energy/laser/musket,
/obj/item/gun/energy/disabler/smoothbore,
))
/// List of all "tools" that can fit into belts or work from toolboxes
GLOBAL_LIST_INIT(tool_items, list(
+13 -5
View File
@@ -77,6 +77,10 @@
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
armor_type = /datum/armor/costume_justice
/obj/item/clothing/suit/costume/justice/Initialize(mapload)
. = ..()
allowed = GLOB.security_vest_allowed
/datum/armor/costume_justice
melee = 35
bullet = 30
@@ -122,7 +126,10 @@
inhand_icon_state = "imperium_monk"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
flags_inv = HIDESHOES|HIDEJUMPSUIT|HIDEBELT
allowed = list(/obj/item/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/cup/glass/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/flashlight/flare/candle, /obj/item/tank/internals/emergency_oxygen)
/obj/item/clothing/suit/costume/imperium_monk/Initialize(mapload)
. = ..()
allowed = GLOB.chaplain_suit_allowed
/obj/item/clothing/suit/costume/chickensuit
name = "chicken suit"
@@ -354,8 +361,6 @@
worn_icon = 'icons/mob/clothing/suits/costume.dmi'
inhand_icon_state = "labcoat"
body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET
//cold_protection = CHEST|GROIN|ARMS
//min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
allowed = list()
hoodtype = /obj/item/clothing/head/hooded/ian_hood
dog_fashion = /datum/dog_fashion/back
@@ -367,8 +372,6 @@
worn_icon = 'icons/mob/clothing/head/costume.dmi'
icon_state = "ian"
body_parts_covered = HEAD
//cold_protection = HEAD
//min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
flags_inv = HIDEHAIR|HIDEEARS
/obj/item/clothing/suit/hooded/bee_costume // It's Hip!
@@ -619,6 +622,7 @@
/obj/item/clothing/suit/costume/hawaiian/Initialize(mapload)
. = ..()
AddComponent(/datum/component/adjust_fishing_difficulty, -5)
allowed += GLOB.personal_carry_allowed
/obj/item/clothing/suit/costume/football_armor
name = "football protective gear"
@@ -637,6 +641,10 @@
desc = "I mean, dont you have to be funny to be a comedian?"
icon_state = "joker_coat"
/obj/item/clothing/suit/costume/joker/Initialize(mapload)
. = ..()
allowed += GLOB.personal_carry_allowed
/obj/item/clothing/suit/costume/deckers
name = "decker hoodie"
desc = "Based? Based on what?"
+41 -55
View File
@@ -9,13 +9,16 @@
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/radio,
/obj/item/storage/belt/holster,
)
body_parts_covered = CHEST|GROIN|ARMS
cold_protection = CHEST|GROIN|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
species_exception = list(/datum/species/golem)
/obj/item/clothing/suit/jacket/Initialize(mapload)
. = ..()
allowed += GLOB.personal_carry_allowed
/obj/item/clothing/suit/toggle/jacket
icon = 'icons/obj/clothing/suits/jacket.dmi'
worn_icon = 'icons/mob/clothing/suits/jacket.dmi'
@@ -23,17 +26,21 @@
/obj/item/flashlight,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/tank/jetpack/oxygen/captain,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/radio,
/obj/item/storage/belt/holster,
)
body_parts_covered = CHEST|GROIN|ARMS
cold_protection = CHEST|GROIN|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
species_exception = list(/datum/species/golem)
/obj/item/clothing/suit/toggle/jacket/Initialize(mapload)
. = ..()
allowed += GLOB.personal_carry_allowed
/obj/item/clothing/suit/toggle/jacket/sweater
name = "sweater jacket"
desc = "A sweater jacket."
@@ -58,6 +65,10 @@
blood_overlay_type = "coat"
flags_inv = HIDEBELT
/obj/item/clothing/suit/toggle/jacket/trenchcoat/Initialize(mapload)
. = ..()
allowed += GLOB.improvised_firearm_allowed
/obj/item/clothing/suit/jacket/blazer
name = "blazer jacket"
desc = "A blazer jacket."
@@ -100,17 +111,10 @@
desc = "Aviators not included."
icon_state = "bomberjacket"
inhand_icon_state = "brownjsuit"
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/gun/ballistic/rifle/boltaction/pipegun,
/obj/item/gun/energy/laser/musket,
/obj/item/radio,
)
/obj/item/clothing/suit/jacket/bomber/Initialize(mapload)
. = ..()
allowed += GLOB.improvised_firearm_allowed
/obj/item/clothing/suit/jacket/leather
name = "leather jacket"
@@ -119,20 +123,10 @@
inhand_icon_state = "hostrench"
resistance_flags = NONE
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/gun/ballistic/revolver,
/obj/item/gun/ballistic/revolver/c38/detective,
/obj/item/gun/ballistic/rifle/boltaction/pipegun,
/obj/item/gun/energy/laser/musket,
/obj/item/radio,
)
/obj/item/clothing/suit/jacket/leather/Initialize(mapload)
. = ..()
allowed += GLOB.improvised_firearm_allowed
/obj/item/clothing/suit/jacket/leather/biker
name = "biker jacket"
@@ -166,20 +160,10 @@
desc = "A canvas jacket styled after classical American military garb. Feels sturdy, yet comfortable."
icon_state = "militaryjacket"
inhand_icon_state = null
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/gun/ballistic/revolver,
/obj/item/gun/ballistic/revolver/c38/detective,
/obj/item/gun/ballistic/rifle/boltaction/pipegun,
/obj/item/gun/energy/laser/musket,
/obj/item/radio,
)
/obj/item/clothing/suit/jacket/miljacket/Initialize(mapload)
. = ..()
allowed += GLOB.improvised_firearm_allowed
/obj/item/clothing/suit/jacket/letterman
name = "letterman jacket"
@@ -188,6 +172,10 @@
inhand_icon_state = null
species_exception = list(/datum/species/golem)
/obj/item/clothing/suit/jacket/letterman/Initialize(mapload)
. = ..()
allowed += GLOB.improvised_firearm_allowed
/obj/item/clothing/suit/jacket/letterman_red
name = "red letterman jacket"
desc = "A letterman jacket in a sick red color. Radical."
@@ -195,26 +183,20 @@
inhand_icon_state = null
species_exception = list(/datum/species/golem)
/obj/item/clothing/suit/jacket/letterman_red/Initialize(mapload)
. = ..()
allowed += GLOB.improvised_firearm_allowed
/obj/item/clothing/suit/jacket/letterman_syndie
name = "blood-red letterman jacket"
desc = "Oddly, this jacket seems to have a large S on the back..."
icon_state = "letterman_s"
inhand_icon_state = null
species_exception = list(/datum/species/golem)
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/gun/ballistic/revolver,
/obj/item/gun/ballistic/revolver/c38/detective,
/obj/item/gun/ballistic/rifle/boltaction/pipegun,
/obj/item/gun/energy/laser/musket,
/obj/item/radio,
)
/obj/item/clothing/suit/jacket/letterman_syndie/Initialize(mapload)
. = ..()
allowed += GLOB.improvised_firearm_allowed
/obj/item/clothing/suit/jacket/letterman_nanotrasen
name = "blue letterman jacket"
@@ -222,3 +204,7 @@
icon_state = "letterman_n"
inhand_icon_state = null
species_exception = list(/datum/species/golem)
/obj/item/clothing/suit/jacket/letterman_nanotrasen/Initialize(mapload)
. = ..()
allowed += GLOB.improvised_firearm_allowed