Files
necromanceranne 3c1860a128 Adds a plasma stabilizers and thermal regulator to the Operative equipment locker. (#93843)
## About The Pull Request

What it says on the tin

## Why It's Good For The Game

These modules are often found mapped in roundstart, and are also
printable extremely early in the round. They're not exactly high power
modules, and they are largely important quality of life tools for
non-humans species.

Which, now, operatives can be. So if the op cares to get it, they can
shove it in their suit. The complexity limits of their suit will more
than likely require them to be picky about what they put in anyway.
That's why the complexity system exists in the first place.

They're best placed here so we can assume by default the operative
doesn't need them, since most species don't need, for example, plasma
stabilization. It might be important for icemoon in case an operative
has a nasty fall! ~~Or experiences that weird bug where plasmification
spreads to people~~

## Changelog
🆑
qol: Operative lockers come with thermal regulator and plasma stabilizer
modules.
/🆑
2025-11-09 12:46:30 +01:00

158 lines
5.3 KiB
Plaintext

/obj/structure/closet/syndicate
name = "armory closet"
desc = "Why is this here?"
icon_state = "syndicate"
armor_type = /datum/armor/closet_syndicate
paint_jobs = null
/datum/armor/closet_syndicate
melee = 70
bullet = 40
laser = 40
energy = 30
bomb = 30
fire = 70
acid = 70
/obj/structure/closet/syndicate/personal
desc = "It's a personal storage unit for operative gear."
/obj/structure/closet/syndicate/personal/PopulateContents()
..()
new /obj/item/trench_tool(src)
new /obj/item/clothing/glasses/night(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/storage/belt/military(src)
new /obj/item/storage/belt/holster/nukie(src)
new /obj/item/radio/headset/syndicate(src)
new /obj/item/clothing/under/syndicate(src)
new /obj/item/clothing/under/syndicate/skirt(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/mod/module/plasma_stabilizer(src)
new /obj/item/climbing_hook/syndicate(src)
new /obj/item/mod/module/thermal_regulator(src)
new /obj/item/mod/module/plasma_stabilizer(src)
/obj/structure/closet/syndicate/nuclear
desc = "It's a storage unit for a Syndicate boarding party."
/obj/structure/closet/syndicate/nuclear/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/storage/box/teargas(src)
new /obj/item/storage/backpack/duffelbag/syndie/med(src)
new /obj/item/modular_computer/pda/syndicate(src)
/obj/structure/closet/syndicate/chemical
name = "chemical supplies closet"
desc = "full of omninous chemical supplies"
icon_state = "syndicate_chemical"
/obj/structure/closet/syndicate/chemical/PopulateContents()
..()
new /obj/item/storage/box/pillbottles(src)
new /obj/item/storage/box/pillbottles(src)
new /obj/item/storage/box/beakers/big(src)
new /obj/item/storage/box/beakers/big(src)
new /obj/item/storage/box/medigels(src)
new /obj/item/storage/box/medigels(src)
new /obj/item/ph_booklet(src)
new /obj/item/reagent_containers/dropper(src)
new /obj/item/reagent_containers/cup/bottle/acidic_buffer(src)
/obj/structure/closet/syndicate/resources
desc = "An old, dusty locker."
// A lot of this stuff is objective items, and it's also only used for debugging, so init times don't matter here.
/obj/structure/closet/syndicate/resources/populate_contents_immediate()
. = ..()
var/common_min = 30 //Minimum amount of minerals in the stack for common minerals
var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals
var/rare_min = 5 //Minimum HONK of HONK in the stack HONK HONK rare minerals
var/rare_max = 20 //Maximum HONK HONK HONK in the HONK for HONK rare HONK
var/pickednum = rand(1, 50)
//Sad trombone
if(pickednum == 1)
var/obj/item/paper/paper = new /obj/item/paper(src)
paper.name = "\improper IOU"
paper.add_raw_text("Sorry man, we needed the money so we sold your stash. It's ok, we'll double our money for sure this time!")
paper.update_appearance()
//Iron (common ore)
if(pickednum >= 2)
new /obj/item/stack/sheet/iron(src, rand(common_min, common_max))
//Glass (common ore)
if(pickednum >= 5)
new /obj/item/stack/sheet/glass(src, rand(common_min, common_max))
//Plasteel (common ore) Because it has a million more uses then plasma
if(pickednum >= 10)
new /obj/item/stack/sheet/plasteel(src, rand(common_min, common_max))
//Plasma (rare ore)
if(pickednum >= 15)
new /obj/item/stack/sheet/mineral/plasma(src, rand(rare_min, rare_max))
//Silver (rare ore)
if(pickednum >= 20)
new /obj/item/stack/sheet/mineral/silver(src, rand(rare_min, rare_max))
//Gold (rare ore)
if(pickednum >= 30)
new /obj/item/stack/sheet/mineral/gold(src, rand(rare_min, rare_max))
//Uranium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/sheet/mineral/uranium(src, rand(rare_min, rare_max))
//Titanium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/sheet/mineral/titanium(src, rand(rare_min, rare_max))
//Plastitanium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/sheet/mineral/plastitanium(src, rand(rare_min, rare_max))
//Diamond (rare HONK)
if(pickednum >= 45)
new /obj/item/stack/sheet/mineral/diamond(src, rand(rare_min, rare_max))
//Jetpack (You hit the jackpot!)
if(pickednum == 50)
new /obj/item/tank/jetpack/carbondioxide(src)
/obj/structure/closet/syndicate/resources/everything
desc = "It's an emergency storage closet for repairs."
storage_capacity = 60 // This is gonna be used for debug.
// A lot of this stuff is objective items, and it's also only used for debugging, so init times don't matter here.
/obj/structure/closet/syndicate/resources/everything/populate_contents_immediate()
var/list/resources = list(
/obj/item/stack/sheet/iron,
/obj/item/stack/sheet/glass,
/obj/item/stack/sheet/mineral/gold,
/obj/item/stack/sheet/mineral/silver,
/obj/item/stack/sheet/mineral/plasma,
/obj/item/stack/sheet/mineral/uranium,
/obj/item/stack/sheet/mineral/diamond,
/obj/item/stack/sheet/mineral/bananium,
/obj/item/stack/sheet/plasteel,
/obj/item/stack/sheet/mineral/titanium,
/obj/item/stack/sheet/mineral/plastitanium,
/obj/item/stack/rods,
/obj/item/stack/sheet/bluespace_crystal,
/obj/item/stack/sheet/mineral/abductor,
/obj/item/stack/sheet/plastic,
/obj/item/stack/sheet/mineral/wood
)
for(var/i in 1 to 2)
for(var/res in resources)
var/obj/item/stack/R = res
new res(src, initial(R.max_amount))