diff --git a/code/game/objects/random/guns_and_ammo.dm b/code/game/objects/random/guns_and_ammo.dm index 43a166a647..736565b14d 100644 --- a/code/game/objects/random/guns_and_ammo.dm +++ b/code/game/objects/random/guns_and_ammo.dm @@ -153,6 +153,65 @@ prob(2);/obj/item/ammo_magazine/m9mmt, prob(6);/obj/item/ammo_magazine/m9mmt/rubber) +/obj/random/grenade + name = "Random Grenade" + desc = "This is random thrown grenades (no C4/etc.)." + icon = 'icons/obj/grenade.dmi' + icon_state = "clusterbang_segment" + +/obj/random/grenade/item_to_spawn() + return pick( prob(15);/obj/item/weapon/grenade/concussion, + prob(5);/obj/item/weapon/grenade/empgrenade, + prob(15);/obj/item/weapon/grenade/empgrenade/low_yield, + prob(5);/obj/item/weapon/grenade/chem_grenade/metalfoam, + prob(2);/obj/item/weapon/grenade/chem_grenade/incendiary, + prob(10);/obj/item/weapon/grenade/chem_grenade/antiweed, + prob(10);/obj/item/weapon/grenade/chem_grenade/cleaner, + prob(10);/obj/item/weapon/grenade/chem_grenade/teargas, + prob(5);/obj/item/weapon/grenade/explosive, + prob(10);/obj/item/weapon/grenade/explosive/mini, + prob(2);/obj/item/weapon/grenade/explosive/frag, + prob(15);/obj/item/weapon/grenade/flashbang, + prob(1);/obj/item/weapon/grenade/flashbang/clusterbang, //I can't not do this. + prob(15);/obj/item/weapon/grenade/shooter/rubber, + prob(10);/obj/item/weapon/grenade/shooter/energy/flash, + prob(15);/obj/item/weapon/grenade/smokebomb + ) + +/obj/random/grenade/less_lethal + name = "Random Security Grenade" + desc = "This is a random thrown grenade that shouldn't kill anyone." + icon = 'icons/obj/grenade.dmi' + icon_state = "clusterbang_segment" + +/obj/random/grenade/less_lethal/item_to_spawn() + return pick( prob(20);/obj/item/weapon/grenade/concussion, + prob(15);/obj/item/weapon/grenade/empgrenade/low_yield, + prob(15);/obj/item/weapon/grenade/chem_grenade/metalfoam, + prob(20);/obj/item/weapon/grenade/chem_grenade/teargas, + prob(20);/obj/item/weapon/grenade/flashbang, + prob(1);/obj/item/weapon/grenade/flashbang/clusterbang, //I *still* can't not do this. + prob(15);/obj/item/weapon/grenade/shooter/rubber, + prob(10);/obj/item/weapon/grenade/shooter/energy/flash + ) + +/obj/random/grenade/box + name = "Random Grenade Box" + desc = "This is a random box of grenades. Not to be mistaken for a box of random grenades. Or a grenade of random boxes - but that would just be silly." + icon = 'icons/obj/grenade.dmi' + icon_state = "clusterbang_segment" + +/obj/random/grenade/box/item_to_spawn() + return pick( prob(20);/obj/item/weapon/storage/box/flashbangs, + prob(10);/obj/item/weapon/storage/box/emps, + prob(20);/obj/item/weapon/storage/box/empslite, + prob(15);/obj/item/weapon/storage/box/smokes, + prob(5);/obj/item/weapon/storage/box/anti_photons, + prob(5);/obj/item/weapon/storage/box/frags, + prob(10);/obj/item/weapon/storage/box/metalfoam, + prob(15);/obj/item/weapon/storage/box/teargas + ) + /obj/random/projectile/random name = "Random Projectile Weapon" desc = "This is a random weapon." diff --git a/code/game/objects/random/mapping.dm b/code/game/objects/random/mapping.dm index 7319ca42e5..16be9dff94 100644 --- a/code/game/objects/random/mapping.dm +++ b/code/game/objects/random/mapping.dm @@ -585,7 +585,7 @@ /obj/item/clothing/mask/breath, /obj/structure/closet/crate/aether //AETHER AIRSUPPLY ), - prob(10);list( + prob(5);list( /obj/random/multiple/voidsuit/vintage, /obj/random/multiple/voidsuit/vintage, /obj/random/tank, @@ -625,13 +625,20 @@ /obj/random/powercell, /obj/structure/closet/crate/einstein //EINSTEIN BATTERYPACK ), - prob(10);list( + prob(5);list( /obj/item/weapon/circuitboard/smes, /obj/random/smes_coil, /obj/random/smes_coil, /obj/structure/closet/crate/focalpoint //FOCAL SMES ), - prob(15);list( + prob(10);list( + /obj/item/weapon/module/power_control, + /obj/item/stack/cable_coil, + /obj/item/frame/apc, + /obj/item/weapon/cell/apc, + /obj/structure/closet/crate/focalpoint //FOCAL APC + ), + prob(5);list( /obj/random/drinkbottle, /obj/random/drinkbottle, /obj/random/drinkbottle, @@ -640,7 +647,7 @@ /obj/random/cigarettes, /obj/structure/closet/crate/gilthari //GILTHARI LUXURY ), - prob(15);list( + prob(10);list( /obj/random/tech_supply/nofail, /obj/random/tech_supply/component/nofail, /obj/random/tech_supply/component/nofail, @@ -655,7 +662,7 @@ /obj/random/multiple/ore_pile, /obj/structure/closet/crate/grayson //GRAYSON ORES ), - prob(15);list( + prob(10);list( /obj/random/material/refined, /obj/random/material/refined, /obj/random/material/refined, @@ -671,24 +678,48 @@ /obj/item/weapon/cell/device/weapon, /obj/structure/closet/crate/secure/heph //HEPHAESTUS ENERGY ), - prob(2);list( - /obj/random/projectile/random, - /obj/random/projectile/random, - /obj/structure/closet/crate/secure/heph //HEPHAESTUS PROJECTILE + prob(1);list( + /obj/random/grenade/box, + /obj/random/grenade/box, + /obj/structure/closet/crate/secure/heph //HEPHAESTUS GRENADES ), prob(2);list( + /obj/random/projectile/random, + /obj/random/projectile/random, + /obj/structure/closet/crate/secure/lawson //LAWSON PROJECTILE + ), + prob(3);list( + /obj/random/grenade/less_lethal, + /obj/random/grenade/less_lethal, + /obj/random/grenade/less_lethal, + /obj/random/grenade/less_lethal, + /obj/structure/closet/crate/secure/nanotrasen //NTSEC CROWD GRENADES + ), + prob(5);list( /obj/random/multiple/voidsuit/security, /obj/random/tank, /obj/item/clothing/mask/breath, /obj/structure/closet/crate/secure/nanotrasen //NTSEC SUIT ), - prob(2);list( + prob(5);list( /obj/random/multiple/voidsuit/medical, /obj/random/tank, /obj/item/clothing/mask/breath, /obj/structure/closet/crate/secure/veymed //VM SUIT ), prob(5);list( + /obj/random/multiple/voidsuit/mining, + /obj/random/tank, + /obj/item/clothing/mask/breath, + /obj/structure/closet/crate/grayson //GRAYSON SUIT + ), + prob(5);list( + /obj/random/multiple/voidsuit/engineering, + /obj/random/tank, + /obj/item/clothing/mask/breath, + /obj/structure/closet/crate/xion //XION SUIT + ), + prob(10);list( /obj/random/firstaid, /obj/random/medical, /obj/random/medical, @@ -697,11 +728,13 @@ /obj/random/medical/lite, /obj/structure/closet/crate/veymed //VM GRABBAG ), - prob(5);list( + prob(10);list( /obj/random/firstaid, /obj/random/firstaid, /obj/random/firstaid, /obj/random/firstaid, + /obj/random/unidentified_medicine/fresh_medicine, + /obj/random/unidentified_medicine/fresh_medicine, /obj/structure/closet/crate/veymed //VM FAKS ), prob(10);list( @@ -726,19 +759,337 @@ /obj/random/medical/pillbottle, /obj/random/medical/pillbottle, /obj/random/medical/pillbottle, - /obj/random/medical/pillbottle, + /obj/random/unidentified_medicine/fresh_medicine, + /obj/random/unidentified_medicine/fresh_medicine, /obj/structure/closet/crate/zenghu //ZENGHU PILLS ), + prob(10);list( + /obj/item/device/toner, + /obj/item/device/toner, + /obj/item/device/toner, + /obj/item/weapon/clipboard, + /obj/item/weapon/clipboard, + /obj/item/weapon/pen/red, + /obj/item/weapon/pen/blue, + /obj/item/weapon/pen/blue, + /obj/item/device/camera_film, + /obj/item/weapon/folder/blue, + /obj/item/weapon/folder/red, + /obj/item/weapon/folder/yellow, + /obj/item/weapon/hand_labeler, + /obj/item/weapon/tape_roll, + /obj/item/weapon/paper_bin, + /obj/item/sticky_pad/random, + /obj/structure/closet/crate/ummarcar //UMMARCAR OFFICE TRASH + ), + prob(5);list( + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/structure/closet/crate/unathi //UNAJERKY + ), + prob(10);list( + /obj/item/weapon/reagent_containers/glass/bucket, + /obj/item/weapon/mop, + /obj/item/clothing/under/rank/janitor, + /obj/item/weapon/cartridge/janitor, + /obj/item/clothing/gloves/black, + /obj/item/clothing/head/soft/purple, + /obj/item/weapon/storage/belt/janitor, + /obj/item/clothing/shoes/galoshes, + /obj/item/weapon/storage/bag/trash, + /obj/item/device/lightreplacer, + /obj/item/weapon/reagent_containers/spray/cleaner, + /obj/item/weapon/reagent_containers/glass/rag, + /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/structure/closet/crate/galaksi //GALAKSI JANITOR SUPPLIES + ), + prob(5);list( + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/structure/closet/crate/allico //GUMMIES + ), prob(2);list( + /obj/item/weapon/tank/phoron/pressurized, + /obj/item/weapon/tank/phoron/pressurized, + /obj/structure/closet/crate/secure/phoron //HQ FUEL TANKS + ), + prob(1);list( /obj/random/contraband/nofail, /obj/random/contraband/nofail, - /obj/random/contraband/nofail, + /obj/random/unidentified_medicine/combat_medicine, + /obj/random/unidentified_medicine/combat_medicine, /obj/random/projectile/random, /obj/random/projectile/random, /obj/random/mre, /obj/random/mre, + /obj/structure/closet/crate/secure/saare //SAARE GRAB BAG + ), + prob(2);list( + /obj/random/grenade, + /obj/random/grenade, + /obj/random/grenade, + /obj/random/grenade, + /obj/random/grenade, + /obj/random/grenade, + /obj/structure/closet/crate/secure/saare //SAARE GRENADES + ), + prob(1);list( + /obj/random/cash/big, + /obj/random/cash/big, + /obj/random/cash/big, + /obj/random/cash/huge, + /obj/random/cash/huge, + /obj/random/cash/huge, + /obj/structure/closet/crate/secure/saare //SAARE CASH CRATE + ) + ) + +/obj/random/multiple/corp_crate/no_weapons + name = "random corporate crate (no weapons)" + desc = "A random corporate crate with thematic contents. No weapons." + icon = 'icons/obj/storage.dmi' + icon_state = "crate" + +/obj/random/multiple/corp_crate/no_weapons/item_to_spawn() + return pick( + prob(10);list( + /obj/random/tank, + /obj/random/tank, + /obj/random/tank, + /obj/item/clothing/mask/breath, + /obj/item/clothing/mask/breath, + /obj/item/clothing/mask/breath, + /obj/structure/closet/crate/aether //AETHER AIRSUPPLY + ), + prob(5);list( + /obj/random/multiple/voidsuit/vintage, + /obj/random/multiple/voidsuit/vintage, + /obj/random/tank, + /obj/random/tank, + /obj/item/clothing/mask/breath, + /obj/item/clothing/mask/breath, + /obj/structure/closet/crate/aether //AETHER OLDSUITS + ), + prob(10);list( /obj/random/mre, - /obj/structure/closet/crate/secure/saare //SAARE GUNS + /obj/random/mre, + /obj/random/mre, + /obj/random/mre, + /obj/random/mre, + /obj/structure/closet/crate/centauri //CENTAURI MRES + ), + prob(10);list( + /obj/random/drinksoft, + /obj/random/drinksoft, + /obj/random/drinksoft, + /obj/random/drinksoft, + /obj/random/drinksoft, + /obj/structure/closet/crate/freezer/centauri //CENTAURI SODA + ), + prob(10);list( + /obj/random/snack, + /obj/random/snack, + /obj/random/snack, + /obj/random/snack, + /obj/random/snack, + /obj/structure/closet/crate/freezer/centauri //CENTAURI SNACKS + ), + prob(10);list( + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/structure/closet/crate/einstein //EINSTEIN BATTERYPACK + ), + prob(5);list( + /obj/item/weapon/circuitboard/smes, + /obj/random/smes_coil, + /obj/random/smes_coil, + /obj/structure/closet/crate/focalpoint //FOCAL SMES + ), + prob(10);list( + /obj/item/weapon/module/power_control, + /obj/item/stack/cable_coil, + /obj/item/frame/apc, + /obj/item/weapon/cell/apc, + /obj/structure/closet/crate/focalpoint //FOCAL APC + ), + prob(5);list( + /obj/random/drinkbottle, + /obj/random/drinkbottle, + /obj/random/drinkbottle, + /obj/random/cigarettes, + /obj/random/cigarettes, + /obj/random/cigarettes, + /obj/structure/closet/crate/gilthari //GILTHARI LUXURY + ), + prob(10);list( + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/structure/closet/crate/grayson //GRAYSON TECH + ), + prob(15);list( + /obj/random/multiple/ore_pile, + /obj/random/multiple/ore_pile, + /obj/random/multiple/ore_pile, + /obj/random/multiple/ore_pile, + /obj/structure/closet/crate/grayson //GRAYSON ORES + ), + prob(10);list( + /obj/random/material/refined, + /obj/random/material/refined, + /obj/random/material/refined, + /obj/random/material/refined, + /obj/structure/closet/crate/grayson //GRAYSON MATS + ), + prob(5);list( + /obj/random/multiple/voidsuit/security, + /obj/random/tank, + /obj/item/clothing/mask/breath, + /obj/structure/closet/crate/secure/nanotrasen //NTSEC SUIT + ), + prob(5);list( + /obj/random/multiple/voidsuit/medical, + /obj/random/tank, + /obj/item/clothing/mask/breath, + /obj/structure/closet/crate/secure/veymed //VM SUIT + ), + prob(5);list( + /obj/random/multiple/voidsuit/mining, + /obj/random/tank, + /obj/item/clothing/mask/breath, + /obj/structure/closet/crate/grayson //GRAYSON SUIT + ), + prob(5);list( + /obj/random/multiple/voidsuit/engineering, + /obj/random/tank, + /obj/item/clothing/mask/breath, + /obj/structure/closet/crate/xion //XION SUIT + ), + prob(10);list( + /obj/random/firstaid, + /obj/random/medical, + /obj/random/medical, + /obj/random/medical, + /obj/random/medical/lite, + /obj/random/medical/lite, + /obj/structure/closet/crate/veymed //VM GRABBAG + ), + prob(10);list( + /obj/random/firstaid, + /obj/random/firstaid, + /obj/random/firstaid, + /obj/random/firstaid, + /obj/random/unidentified_medicine/fresh_medicine, + /obj/random/unidentified_medicine/fresh_medicine, + /obj/structure/closet/crate/veymed //VM FAKS + ), + prob(10);list( + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/structure/closet/crate/xion //XION SUPPLY + ), + prob(10);list( + /obj/random/firstaid, + /obj/random/medical, + /obj/random/medical/pillbottle, + /obj/random/medical/pillbottle, + /obj/random/medical/lite, + /obj/random/medical/lite, + /obj/structure/closet/crate/zenghu //ZENGHU GRABBAG + ), + prob(10);list( + /obj/random/medical/pillbottle, + /obj/random/medical/pillbottle, + /obj/random/medical/pillbottle, + /obj/random/medical/pillbottle, + /obj/random/unidentified_medicine/fresh_medicine, + /obj/random/unidentified_medicine/fresh_medicine, + /obj/structure/closet/crate/zenghu //ZENGHU PILLS + ), + prob(10);list( + /obj/item/device/toner, + /obj/item/device/toner, + /obj/item/device/toner, + /obj/item/weapon/clipboard, + /obj/item/weapon/clipboard, + /obj/item/weapon/pen/red, + /obj/item/weapon/pen/blue, + /obj/item/weapon/pen/blue, + /obj/item/device/camera_film, + /obj/item/weapon/folder/blue, + /obj/item/weapon/folder/red, + /obj/item/weapon/folder/yellow, + /obj/item/weapon/hand_labeler, + /obj/item/weapon/tape_roll, + /obj/item/weapon/paper_bin, + /obj/item/sticky_pad/random, + /obj/structure/closet/crate/ummarcar //UMMARCAR OFFICE TRASH + ), + prob(5);list( + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/structure/closet/crate/unathi //UNAJERKY + ), + prob(10);list( + /obj/item/weapon/reagent_containers/glass/bucket, + /obj/item/weapon/mop, + /obj/item/clothing/under/rank/janitor, + /obj/item/weapon/cartridge/janitor, + /obj/item/clothing/gloves/black, + /obj/item/clothing/head/soft/purple, + /obj/item/weapon/storage/belt/janitor, + /obj/item/clothing/shoes/galoshes, + /obj/item/weapon/storage/bag/trash, + /obj/item/device/lightreplacer, + /obj/item/weapon/reagent_containers/spray/cleaner, + /obj/item/weapon/reagent_containers/glass/rag, + /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/structure/closet/crate/galaksi //GALAKSI JANITOR SUPPLIES + ), + prob(5);list( + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/structure/closet/crate/allico //GUMMIES + ), + prob(2);list( + /obj/item/weapon/tank/phoron/pressurized, + /obj/item/weapon/tank/phoron/pressurized, + /obj/structure/closet/crate/secure/phoron //HQ FUEL TANKS ), prob(1);list( /obj/random/cash/big, @@ -849,6 +1200,100 @@ /obj/structure/closet/crate/large/secure/xion //XION TECH COMPS ) ) + +/obj/random/multiple/large_corp_crate/no_weapons + name = "random large corporate crate (no weapons)" + desc = "A random large corporate crate with thematic contents. No weapons." + icon = 'icons/obj/storage.dmi' + icon_state = "largermetal" + +/obj/random/multiple/large_corp_crate/no_weapons/item_to_spawn() + return pick( + prob(30);list( + /obj/random/multiple/voidsuit/vintage, + /obj/random/multiple/voidsuit/vintage, + /obj/random/tank, + /obj/random/tank, + /obj/item/clothing/mask/breath, + /obj/item/clothing/mask/breath, + /obj/random/multiple/voidsuit/vintage, + /obj/random/multiple/voidsuit/vintage, + /obj/random/tank, + /obj/random/tank, + /obj/item/clothing/mask/breath, + /obj/item/clothing/mask/breath, + /obj/structure/closet/crate/large/aether //AETHER SUITSBOX + ), + prob(30);list( + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/random/powercell, + /obj/structure/closet/crate/large/einstein //EIN BATTERY MEGAPACK + ), + prob(20);list( + /obj/item/weapon/circuitboard/smes, + /obj/item/weapon/circuitboard/smes, + /obj/random/smes_coil, + /obj/random/smes_coil, + /obj/random/smes_coil, + /obj/random/smes_coil, + /obj/random/smes_coil, + /obj/random/smes_coil, + /obj/structure/closet/crate/large/einstein //EIN SMESBOX + ), + prob(20);list( + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/random/tech_supply/nofail, + /obj/structure/closet/crate/large/xion //XION TECH SUPPLY + ), + prob(20);list( + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/random/tech_supply/component/nofail, + /obj/structure/closet/crate/large/secure/xion //XION TECH COMPS + ) + ) + +//recursion crate! +/obj/random/multiple/random_size_crate + name = "random size corporate crate" + desc = "A random size corporate crate with thematic contents: prefers small crates." + icon = 'icons/obj/storage.dmi' + icon_state = "largermetal" + +/obj/random/multiple/random_size_crate/item_to_spawn() + return pick( + prob(85);list( + /obj/random/multiple/corp_crate + ), + prob(15);list( + /obj/random/multiple/large_corp_crate + ) + ) /* * Turf swappers. */ diff --git a/code/game/objects/random/spacesuits.dm b/code/game/objects/random/spacesuits.dm index 84cf74fb48..da380f2842 100644 --- a/code/game/objects/random/spacesuits.dm +++ b/code/game/objects/random/spacesuits.dm @@ -29,6 +29,10 @@ /obj/item/clothing/suit/space/void/engineering/alt, /obj/item/clothing/head/helmet/space/void/engineering/alt ), + prob(5);list( + /obj/item/clothing/suit/space/void/engineering/hazmat, + /obj/item/clothing/head/helmet/space/void/engineering/hazmat + ), prob(5);list( /obj/item/clothing/suit/space/void/engineering/construction, /obj/item/clothing/head/helmet/space/void/engineering/construction @@ -109,7 +113,35 @@ ) ) +/obj/random/multiple/voidsuit/engineering + name = "Random Engineering Voidsuit" + desc = "This is a random engineering voidsuit." + icon = 'icons/obj/clothing/spacesuits.dmi' + icon_state = "rig-engineering" +/obj/random/multiple/voidsuit/engineering/item_to_spawn() + return pick( + prob(35);list( + /obj/item/clothing/suit/space/void/engineering, + /obj/item/clothing/head/helmet/space/void/engineering + ), + prob(5);list( + /obj/item/clothing/suit/space/void/engineering/alt, + /obj/item/clothing/head/helmet/space/void/engineering/alt + ), + prob(15);list( + /obj/item/clothing/suit/space/void/engineering/hazmat, + /obj/item/clothing/head/helmet/space/void/engineering/hazmat + ), + prob(15);list( + /obj/item/clothing/suit/space/void/engineering/construction, + /obj/item/clothing/head/helmet/space/void/engineering/construction + ), + prob(5);list( + /obj/item/clothing/suit/space/void/engineering/salvage, + /obj/item/clothing/head/helmet/space/void/engineering/salvage + ) + ) /obj/random/multiple/voidsuit/security name = "Random Security Voidsuit"