Files
nevimer 6e9f2ccfc0 Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts:
#	.github/workflows/compile_all_maps.yml
#	.github/workflows/run_integration_tests.yml
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/_onclick/hud/credits.dm
#	code/controllers/subsystem/networks/id_access.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/game/machinery/doors/door.dm
#	code/game/objects/structures/crates_lockers/closets/secure/medical.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/antagonists/malf_ai/malf_ai_modules.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/loadout/categories/accessories.dm
#	code/modules/loadout/loadout_helpers.dm
#	code/modules/loadout/loadout_items.dm
#	code/modules/loadout/loadout_preference.dm
#	code/modules/mob/living/silicon/robot/robot_defense.dm
#	code/modules/mod/mod_theme.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/reagents/reagent_containers/cups/drinks.dm
#	code/modules/shuttle/mobile_port/variants/supply.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png
#	icons/hud/screen_full.dmi
2025-12-15 18:12:29 -05:00

366 lines
13 KiB
Plaintext

/obj/structure/closet/secure_closet/captains
name = "captain's locker"
icon_state = "cap"
req_access = list(ACCESS_CAPTAIN)
/obj/structure/closet/secure_closet/captains/PopulateContents()
..()
new /obj/item/clothing/neck/petcollar(src)
new /obj/item/pet_carrier(src)
new /obj/item/storage/bag/garment/captain(src)
new /obj/item/computer_disk/command/captain(src)
new /obj/item/radio/headset/heads/captain/alt(src)
new /obj/item/radio/headset/heads/captain(src)
new /obj/item/door_remote/captain(src)
new /obj/item/storage/photo_album/captain(src)
new /obj/item/megaphone/command(src)
new /obj/item/card/id/departmental_budget(src) //SKYRAT EDIT ADDITION
/obj/structure/closet/secure_closet/captains/populate_contents_immediate()
new /obj/item/gun/energy/e_gun(src)
new /obj/item/storage/belt/sheath/sabre(src)
/obj/structure/closet/secure_closet/hop
name = "head of personnel's locker"
icon_state = "hop"
req_access = list(ACCESS_HOP)
/obj/structure/closet/secure_closet/hop/PopulateContents()
..()
new /obj/item/dog_bone(src)
new /obj/item/storage/bag/garment/hop(src)
new /obj/item/storage/lockbox/medal/service(src)
new /obj/item/computer_disk/command/hop(src)
new /obj/item/radio/headset/heads/hop(src)
new /obj/item/storage/box/ids(src)
new /obj/item/storage/box/silver_ids(src)
new /obj/item/megaphone/command(src)
new /obj/item/assembly/flash/handheld(src)
new /obj/item/clothing/neck/petcollar(src)
new /obj/item/pet_carrier(src)
new /obj/item/door_remote/head_of_personnel(src)
new /obj/item/circuitboard/machine/techfab/department/service(src)
new /obj/item/storage/photo_album/hop(src)
new /obj/item/storage/lockbox/medal/hop(src)
new /obj/item/card/id/departmental_budget/srv(src) //SKYRAT EDIT ADDITION
/obj/structure/closet/secure_closet/hop/populate_contents_immediate()
new /obj/item/gun/energy/e_gun(src)
/obj/structure/closet/secure_closet/hos
name = "head of security's locker"
icon_state = "hos"
req_access = list(ACCESS_HOS)
/obj/structure/closet/secure_closet/hos/PopulateContents()
..()
new /obj/item/computer_disk/command/hos(src)
new /obj/item/radio/headset/heads/hos(src)
new /obj/item/radio/headset/heads/hos/alt(src)
new /obj/item/storage/bag/garment/hos(src)
new /obj/item/storage/lockbox/medal/sec(src)
new /obj/item/megaphone/sec(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/storage/lockbox/loyalty(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/shield/riot/tele(src)
new /obj/item/storage/belt/security/full(src)
new /obj/item/circuitboard/machine/techfab/department/security(src)
new /obj/item/storage/photo_album/hos(src)
new /obj/item/card/id/departmental_budget/sec(src) //SKYRAT EDIT ADDITION
/obj/structure/closet/secure_closet/hos/populate_contents_immediate()
. = ..()
// Traitor steal objectives
new /obj/item/gun/energy/e_gun/hos(src)
new /obj/item/pinpointer/nuke(src)
/obj/structure/closet/secure_closet/warden
name = "warden's locker"
icon_state = "warden"
req_access = list(ACCESS_ARMORY)
/obj/structure/closet/secure_closet/warden/PopulateContents()
..()
new /obj/item/dog_bone(src)
new /obj/item/radio/headset/headset_sec(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/storage/bag/garment/warden(src)
new /obj/item/storage/box/zipties(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/storage/belt/security/full(src)
new /obj/item/flashlight/seclite(src)
new /obj/item/door_remote/head_of_security(src)
new /obj/item/storage/belt/bandolier(src)
/obj/structure/closet/secure_closet/warden/populate_contents_immediate()
. = ..()
// Traitor steal objective
new /obj/item/gun/ballistic/shotgun/automatic/combat/compact(src)
/obj/structure/closet/secure_closet/security
name = "security officer's locker"
icon_state = "sec"
req_access = list(ACCESS_BRIG)
/obj/structure/closet/secure_closet/security/PopulateContents()
..()
new /obj/item/clothing/suit/armor/vest/alt/sec(src)
new /obj/item/clothing/head/helmet/sec(src)
new /obj/item/radio/headset/headset_sec(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/flashlight/seclite(src)
new /obj/item/clothing/gloves/tackler/security(src) // SKYRAT EDIT CHANGE - Gives Them The Blue Ones - ORIGINAL: new /obj/item/clothing/gloves/tackler(src)
/obj/structure/closet/secure_closet/security/sec
/obj/structure/closet/secure_closet/security/sec/PopulateContents()
..()
new /obj/item/storage/belt/security/full(src)
// SKYRAT EDIT CHANGE -- GOOFSEC DEP GUARDS
/obj/structure/closet/secure_closet/security/cargo
name = "\proper customs agent's locker"
req_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_CARGO)
icon_state = "qm"
icon = 'icons/obj/storage/closet.dmi'
/obj/structure/closet/secure_closet/security/cargo/PopulateContents()
new /obj/item/storage/bag/garment/customs_agent(src)
new /obj/item/restraints/handcuffs/cable/orange(src)
new /obj/item/assembly/flash/handheld(src)
/obj/structure/closet/secure_closet/security/engine
name = "\proper engineering guard's locker"
req_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_ENGINEERING)
icon_state = "eng_secure"
icon = 'icons/obj/storage/closet.dmi'
/obj/structure/closet/secure_closet/security/engine/PopulateContents()
new /obj/item/restraints/handcuffs/cable/yellow(src)
new /obj/item/storage/bag/garment/engineering_guard(src)
new /obj/item/assembly/flash/handheld(src)
/obj/structure/closet/secure_closet/security/science
name = "\proper science guard's locker"
req_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_RESEARCH)
icon_state = "science"
icon = 'icons/obj/storage/closet.dmi'
/obj/structure/closet/secure_closet/security/science/PopulateContents()
new /obj/item/restraints/handcuffs/cable/pink(src)
new /obj/item/storage/bag/garment/science_guard(src)
new /obj/item/assembly/flash/handheld(src)
/obj/structure/closet/secure_closet/security/med
name = "\proper orderly's locker"
req_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_MEDICAL)
icon_state = "med_secure"
icon = 'icons/obj/storage/closet.dmi'
/obj/structure/closet/secure_closet/security/med/PopulateContents()
new /obj/item/restraints/handcuffs/cable/blue(src)
new /obj/item/storage/bag/garment/orderly(src)
new /obj/item/assembly/flash/handheld(src)
// SKYRAT EDIT CHANGE END -- GOOFSEC DEP GUARDS
/obj/structure/closet/secure_closet/detective
name = "\improper detective's cabinet"
icon_state = "cabinet"
resistance_flags = FLAMMABLE
max_integrity = 70
door_anim_time = 0 // no animation
open_sound = 'sound/machines/closet/wooden_closet_open.ogg'
close_sound = 'sound/machines/closet/wooden_closet_close.ogg'
req_access = list(ACCESS_DETECTIVE)
/obj/structure/closet/secure_closet/detective/PopulateContents()
..()
new /obj/item/storage/box/evidence(src)
new /obj/item/radio/headset/headset_sec(src)
new /obj/item/detective_scanner(src)
new /obj/item/flashlight/seclite(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/reagent_containers/spray/pepper(src)
new /obj/item/clothing/suit/armor/vest/det_suit(src)
new /obj/item/toy/crayon/white(src) //SKYRAT EDIT CHANGE - ORIGINAL: /obj/item/storage/belt/holster/detective/full(src)
new /obj/item/pinpointer/crew(src)
new /obj/item/binoculars(src)
new /obj/item/storage/box/rxglasses/spyglasskit(src)
new /obj/item/clothing/head/fedora/inspector_hat(src)
/obj/structure/closet/secure_closet/injection
name = "lethal injections locker"
req_access = list(ACCESS_ARMORY)
/obj/structure/closet/secure_closet/injection/PopulateContents()
..()
for(var/i in 1 to 5)
new /obj/item/reagent_containers/syringe/lethal/execution(src)
/obj/structure/closet/secure_closet/brig
name = "brig locker"
anchored = TRUE
req_one_access = list(ACCESS_BRIG)
var/id = null
/obj/structure/closet/secure_closet/brig/genpop
name = "genpop storage locker"
desc = "Used for storing the belongings of genpop's tourists visiting the locals."
access_choices = FALSE
paint_jobs = null
/obj/structure/closet/secure_closet/brig/genpop/examine(mob/user)
. = ..()
. += span_notice("<b>Right-click</b> with a Security-level ID to reset [src]'s registered ID.")
/obj/structure/closet/secure_closet/brig/genpop/attackby(obj/item/card/id/advanced/prisoner/user_id, mob/user, list/modifiers, list/attack_modifiers)
if(!secure || !istype(user_id))
return ..()
if(isnull(id_card))
say("Prisoner ID linked to locker.")
id_card = WEAKREF(user_id)
name = "genpop storage locker - [user_id.registered_name]"
/obj/structure/closet/secure_closet/brig/genpop/proc/clear_access()
say("Authorized ID detected. Unlocking locker and resetting ID.")
locked = FALSE
id_card = null
name = initial(name)
update_appearance()
/obj/structure/closet/secure_closet/brig/genpop/attackby_secondary(obj/item/card/id/advanced/used_id, mob/user, list/modifiers, list/attack_modifiers)
if(!secure || !istype(used_id))
return ..()
var/list/id_access = used_id.GetAccess()
if(!isnull(id_card) && (ACCESS_BRIG in id_access))
clear_access()
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
/obj/structure/closet/secure_closet/evidence
anchored = TRUE
name = "secure evidence closet"
req_one_access = list(ACCESS_ARMORY, ACCESS_DETECTIVE)
/obj/structure/closet/secure_closet/brig/PopulateContents()
..()
new /obj/item/clothing/under/rank/prisoner( src )
new /obj/item/clothing/under/rank/prisoner/skirt( src )
new /obj/item/clothing/shoes/sneakers/orange( src )
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
req_access = list(ACCESS_COURT)
/obj/structure/closet/secure_closet/courtroom/PopulateContents()
..()
new /obj/item/clothing/shoes/laceup(src)
for(var/i in 1 to 3)
new /obj/item/paper/fluff/jobs/security/court_judgement (src)
new /obj/item/pen (src)
new /obj/item/clothing/suit/costume/judgerobe (src)
new /obj/item/clothing/head/costume/powdered_wig (src)
new /obj/item/storage/briefcase(src)
new /obj/item/clothing/under/suit/black_really(src)
new /obj/item/clothing/neck/tie/red(src)
/obj/structure/closet/secure_closet/contraband/armory
anchored = TRUE
name = "contraband locker"
req_access = list(ACCESS_ARMORY)
/obj/structure/closet/secure_closet/contraband/heads
name = "contraband locker"
req_access = list(ACCESS_COMMAND)
anchored = TRUE
/obj/structure/closet/secure_closet/armory1
name = "armory armor locker"
icon_state = "armory"
req_access = list(ACCESS_ARMORY)
/obj/structure/closet/secure_closet/armory1/PopulateContents()
..()
for(var/i in 1 to 3)
new /obj/item/clothing/suit/armor/riot(src)
for(var/i in 1 to 3)
new /obj/item/clothing/head/helmet/toggleable/riot(src)
for(var/i in 1 to 3)
new /obj/item/shield/riot(src)
/obj/structure/closet/secure_closet/armory1/populate_contents_immediate()
. = ..()
// Traitor steal objective
new /obj/item/clothing/suit/hooded/ablative(src)
/obj/structure/closet/secure_closet/armory2
name = "armory ballistics locker"
icon_state = "tac"
icon_door = "armory_shotgun"
req_access = list(ACCESS_ARMORY)
/obj/structure/closet/secure_closet/armory2/PopulateContents()
..()
new /obj/item/storage/box/firingpins(src)
for(var/i in 1 to 3)
new /obj/item/storage/box/rubbershot(src)
/obj/structure/closet/secure_closet/armory2/populate_contents_immediate()
for(var/i in 1 to 3)
new /obj/item/gun/ballistic/shotgun/riot(src)
/obj/structure/closet/secure_closet/armory3
name = "armory energy gun locker"
icon_state = "tac"
icon_door = "armory_energy"
req_access = list(ACCESS_ARMORY)
/obj/structure/closet/secure_closet/armory3/PopulateContents()
..()
new /obj/item/storage/box/firingpins(src)
new /obj/item/gun/energy/ionrifle(src)
for(var/i in 1 to 3)
new /obj/item/gun/energy/laser/pistol(src)
/obj/structure/closet/secure_closet/armory3/populate_contents_immediate()
for(var/i in 1 to 3)
new /obj/item/gun/energy/e_gun(src)
for(var/i in 1 to 3)
new /obj/item/gun/energy/laser(src)
/obj/structure/closet/secure_closet/tac
name = "armory tac locker"
icon_state = "tac"
req_access = list(ACCESS_ARMORY)
/obj/structure/closet/secure_closet/tac/PopulateContents()
..()
new /obj/item/gun/ballistic/automatic/wt550(src)
new /obj/item/clothing/head/helmet/alt(src)
new /obj/item/clothing/mask/gas/sechailer(src)
new /obj/item/clothing/suit/armor/bulletproof(src)
/obj/structure/closet/secure_closet/labor_camp_security
name = "labor camp security locker"
icon_state = "sec"
req_access = list(ACCESS_SECURITY)
/obj/structure/closet/secure_closet/labor_camp_security/PopulateContents()
..()
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/clothing/head/helmet/sec(src)
new /obj/item/clothing/under/rank/security/officer(src)
new /obj/item/clothing/under/rank/security/officer/skirt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/flashlight/seclite(src)