diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index 9a369301967..aca2fc321b8 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -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( diff --git a/code/modules/clothing/suits/costume.dm b/code/modules/clothing/suits/costume.dm index 77c3478abdb..f0e2ed59831 100644 --- a/code/modules/clothing/suits/costume.dm +++ b/code/modules/clothing/suits/costume.dm @@ -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, don’t 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?" diff --git a/code/modules/clothing/suits/jacket.dm b/code/modules/clothing/suits/jacket.dm index ddd05bf5ab6..558d8d61583 100644 --- a/code/modules/clothing/suits/jacket.dm +++ b/code/modules/clothing/suits/jacket.dm @@ -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