Organizes mining corpses outfits and fixes power tools not spawning on golem corpses. (#72278)

## About The Pull Request
Just my average reorganization of outfits into a better order.
ID > Uniform > Suit > Backpack > Other clothing in alphabetical order >
Pockets > Hands > Others

Since I was there, I put some things into ABC order when it made sense,
lists with 1 item per line, trailing comma, yadda yadda yadda.

Also, as power tools are medium sized now and wouldn't spawn on a
corpse, I moved it into their belt slot to close #71885
## Why It's Good For The Game
Easier to clean code, bug fix.
## Changelog
🆑 Guillaume Prata
fix: Legion infested golem corpses can drop power tools again (Drill,
Jaws, Experimental Welder) but they were moved away from their pockets
and into the belt slot.
/🆑

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
This commit is contained in:
GuillaumePrata
2023-01-06 00:39:58 -03:00
committed by GitHub
parent 0fc114c188
commit 090ff86d31
@@ -31,13 +31,13 @@
var/corpse_theme = pick_weight(list(
"Miner" = 66,
"Ashwalker" = 10,
"Golem" = 10,
"Clown" = 10,
"Golem" = 10,
pick(list(
"Shadow",
"Cultist",
"Dame",
"Operative",
"Cultist",
"Shadow",
)) = 4,
))
switch(corpse_theme)
@@ -47,16 +47,16 @@
outfit = /datum/outfit/consumed_ashwalker
if("Clown")
outfit = /datum/outfit/consumed_clown
if("Golem")
outfit = /datum/outfit/consumed_golem
if("Cultist")
outfit = /datum/outfit/consumed_cultist
if("Dame")
outfit = /datum/outfit/consumed_dame
if("Golem")
outfit = /datum/outfit/consumed_golem
if("Operative")
outfit = /datum/outfit/syndicatecommandocorpse
if("Shadow")
outfit = /datum/outfit/consumed_shadowperson
if("Cultist")
outfit = /datum/outfit/consumed_cultist
. = ..()
/datum/outfit/consumed_miner
@@ -70,31 +70,56 @@
if(visualsOnly)
regular_uniform = TRUE //assume human
else
var/new_species_type = pick_weight(list(/datum/species/human = 70, /datum/species/lizard = 26, /datum/species/fly = 2, /datum/species/plasmaman = 2))
var/new_species_type = pick_weight(list(
/datum/species/human = 70,
/datum/species/lizard = 26,
/datum/species/fly = 2,
/datum/species/plasmaman = 2,
))
miner.set_species(new_species_type)
if(new_species_type != /datum/species/plasmaman)
regular_uniform = TRUE
else
uniform = /obj/item/clothing/under/plasmaman
head = /obj/item/clothing/head/helmet/space/plasmaman
belt = /obj/item/tank/internals/plasmaman/belt
head = /obj/item/clothing/head/helmet/space/plasmaman
if(new_species_type == /datum/species/lizard)
shoes = null //digitigrade says no
if(regular_uniform)
uniform = /obj/item/clothing/under/rank/cargo/miner/lavaland
if(prob(4))
belt = pick_weight(list(/obj/item/storage/belt/mining = 2, /obj/item/storage/belt/mining/alt = 2))
belt = pick_weight(list(
/obj/item/storage/belt/mining = 2,
/obj/item/storage/belt/mining/alt = 2,
))
else if(prob(10))
belt = pick_weight(list(/obj/item/pickaxe = 8, /obj/item/pickaxe/mini = 4, /obj/item/pickaxe/silver = 2, /obj/item/pickaxe/diamond = 1))
belt = pick_weight(list(
/obj/item/pickaxe = 8,
/obj/item/pickaxe/mini = 4,
/obj/item/pickaxe/silver = 2,
/obj/item/pickaxe/diamond = 1,
))
else
belt = /obj/item/tank/internals/emergency_oxygen/engi
if(prob(20))
suit = pick_weight(list(/obj/item/clothing/suit/hooded/explorer = 18, /obj/item/clothing/suit/hooded/cloak/goliath = 2))
suit = pick_weight(list(
/obj/item/clothing/suit/hooded/explorer = 18,
/obj/item/clothing/suit/hooded/cloak/goliath = 2,
))
if(prob(30))
r_pocket = pick_weight(list(/obj/item/stack/marker_beacon = 20, /obj/item/stack/spacecash/c1000 = 7, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/damage = 1 ))
r_pocket = pick_weight(list(
/obj/item/stack/marker_beacon = 20,
/obj/item/stack/spacecash/c1000 = 7,
/obj/item/reagent_containers/hypospray/medipen/survival = 2,
/obj/item/borg/upgrade/modkit/damage = 1,
))
if(prob(10))
l_pocket = pick_weight(list(/obj/item/stack/spacecash/c1000 = 7, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/cooldown = 1 ))
l_pocket = pick_weight(list(
/obj/item/stack/spacecash/c1000 = 7,
/obj/item/reagent_containers/hypospray/medipen/survival = 2,
/obj/item/borg/upgrade/modkit/cooldown = 1,
))
/datum/outfit/consumed_ashwalker
name = "Legion-Consumed Ashwalker"
@@ -106,17 +131,20 @@
if(prob(95))
head = /obj/item/clothing/head/helmet/gladiator
else
head = /obj/item/clothing/head/helmet/skull
suit = /obj/item/clothing/suit/armor/bone
gloves = /obj/item/clothing/gloves/bracer
head = /obj/item/clothing/head/helmet/skull
if(prob(5))
back = pick_weight(list(/obj/item/spear/bonespear = 3, /obj/item/fireaxe/boneaxe = 2))
back = pick_weight(list(
/obj/item/spear/bonespear = 3,
/obj/item/fireaxe/boneaxe = 2,
))
if(prob(10))
belt = /obj/item/storage/belt/mining/primitive
if(prob(30))
r_pocket = /obj/item/knife/combat/bone
if(prob(30))
l_pocket = /obj/item/knife/combat/bone
if(prob(30))
r_pocket = /obj/item/knife/combat/bone
//takes a lot from the clown job, notably NO PDA and different backpack loot + pocket goodies
/datum/outfit/consumed_clown
@@ -140,7 +168,14 @@
if(!visualsOnly)
clown.fully_replace_character_name(clown.name, pick(GLOB.clown_names))
if(prob(70))
var/backpack_loot = pick(list(/obj/item/stamp/clown = 1, /obj/item/reagent_containers/spray/waterflower = 1, /obj/item/food/grown/banana = 1, /obj/item/megaphone/clown = 1, /obj/item/reagent_containers/cup/soda_cans/canned_laughter = 1, /obj/item/pneumatic_cannon/pie))
var/backpack_loot = pick(list(
/obj/item/food/grown/banana = 1,
/obj/item/megaphone/clown = 1,
/obj/item/pneumatic_cannon/pie,
/obj/item/reagent_containers/cup/soda_cans/canned_laughter = 1,
/obj/item/reagent_containers/spray/waterflower = 1,
/obj/item/stamp/clown = 1,
))
if(backpack_loot == /obj/item/pneumatic_cannon/pie)
drop_a_pie_cannon = TRUE
else
@@ -148,7 +183,10 @@
if(prob(30))
backpack_contents += list(/obj/item/stack/sheet/mineral/bananium = pick_weight(list( 1 = 3, 2 = 2, 3 = 1)))
if(prob(10))
l_pocket = pick_weight(list(/obj/item/bikehorn/golden = 3, /obj/item/bikehorn/airhorn = 1))
l_pocket = pick_weight(list(
/obj/item/bikehorn/golden = 3,
/obj/item/bikehorn/airhorn = 1,
))
if(prob(10))
r_pocket = /obj/item/implanter/sad_trombone
@@ -163,26 +201,46 @@
/datum/outfit/consumed_golem/pre_equip(mob/living/carbon/human/golem, visualsOnly = FALSE)
if(!visualsOnly)
golem.set_species(pick(/datum/species/golem/adamantine, /datum/species/golem/plasma, /datum/species/golem/diamond, /datum/species/golem/gold, /datum/species/golem/silver, /datum/species/golem/plasteel, /datum/species/golem/titanium, /datum/species/golem/plastitanium))
golem.set_species(pick(
/datum/species/golem/adamantine,
/datum/species/golem/diamond,
/datum/species/golem/gold,
/datum/species/golem/plasma,
/datum/species/golem/plasteel,
/datum/species/golem/plastitanium,
/datum/species/golem/silver,
/datum/species/golem/titanium,
))
if(prob(30))
glasses = pick_weight(list(/obj/item/clothing/glasses/meson = 2, /obj/item/clothing/glasses/hud/health = 2, /obj/item/clothing/glasses/hud/diagnostic =2, /obj/item/clothing/glasses/science = 2, /obj/item/clothing/glasses/welding = 2, /obj/item/clothing/glasses/night = 1))
glasses = pick_weight(list(
/obj/item/clothing/glasses/hud/diagnostic = 2,
/obj/item/clothing/glasses/hud/health = 2,
/obj/item/clothing/glasses/meson = 2,
/obj/item/clothing/glasses/science = 2,
/obj/item/clothing/glasses/welding = 2,
/obj/item/clothing/glasses/night = 1,
))
if(prob(10) && !visualsOnly) //visualsonly = not a golem = can't put things in the belt slot without a jumpsuit
belt = pick(list(/obj/item/storage/belt/mining/vendor, /obj/item/storage/belt/utility/full))
belt = pick(list(
/obj/item/crowbar/power,
/obj/item/screwdriver/power,
/obj/item/storage/belt/mining/vendor,
/obj/item/storage/belt/utility/full,
/obj/item/weldingtool/experimental,
))
if(prob(50))
neck = /obj/item/bedsheet/rd/royal_cape
if(prob(10) && !visualsOnly) //visualsonly = not a golem = can't put things in the pockets without a jumpsuit
l_pocket = pick(list(/obj/item/crowbar/power, /obj/item/screwdriver/power, /obj/item/weldingtool/experimental))
//this is so pointlessly gendered but whatever bro i'm here to refactor not judge
/datum/outfit/consumed_dame
name = "Legion-Consumed Dame"
uniform = /obj/item/clothing/under/costume/maid
gloves = /obj/item/clothing/gloves/color/white
shoes = /obj/item/clothing/shoes/laceup
head = /obj/item/clothing/head/helmet/knight
suit = /obj/item/clothing/suit/armor/riot/knight
r_pocket = /obj/item/tank/internals/emergency_oxygen
gloves = /obj/item/clothing/gloves/color/white
head = /obj/item/clothing/head/helmet/knight
mask = /obj/item/clothing/mask/breath
shoes = /obj/item/clothing/shoes/laceup
r_pocket = /obj/item/tank/internals/emergency_oxygen
/datum/outfit/consumed_dame/pre_equip(mob/living/carbon/human/dame, visualsOnly = FALSE)
if(!visualsOnly)
@@ -197,14 +255,15 @@
/datum/outfit/consumed_shadowperson
name = "Legion-Consumed Shadowperson"
r_pocket = /obj/item/reagent_containers/pill/shadowtoxin
accessory = /obj/item/clothing/accessory/medal/plasma/nobel_science
uniform = /obj/item/clothing/under/color/black
shoes = /obj/item/clothing/shoes/sneakers/black
suit = /obj/item/clothing/suit/toggle/labcoat
glasses = /obj/item/clothing/glasses/blindfold
back = /obj/item/tank/internals/oxygen
glasses = /obj/item/clothing/glasses/blindfold
mask = /obj/item/clothing/mask/breath
shoes = /obj/item/clothing/shoes/sneakers/black
r_pocket = /obj/item/reagent_containers/pill/shadowtoxin
accessory = /obj/item/clothing/accessory/medal/plasma/nobel_science
/datum/outfit/consumed_shadowperson/pre_equip(mob/living/carbon/human/shadowperson, visualsOnly = FALSE)
if(visualsOnly)
@@ -217,5 +276,10 @@
suit = /obj/item/clothing/suit/hooded/cultrobes
suit_store = /obj/item/tome
back = /obj/item/storage/backpack/cultpack
backpack_contents = list(
/obj/item/cult_shift = 1,
/obj/item/flashlight/flare/culttorch = 1,
/obj/item/reagent_containers/cup/beaker/unholywater = 1,
/obj/item/stack/sheet/runed_metal = 15,
)
r_pocket = /obj/item/clothing/glasses/hud/health/night/cultblind
backpack_contents = list(/obj/item/reagent_containers/cup/beaker/unholywater = 1, /obj/item/cult_shift = 1, /obj/item/flashlight/flare/culttorch = 1, /obj/item/stack/sheet/runed_metal = 15)