From 090ff86d315a4d0b08a80ff1bd5f703ea3527015 Mon Sep 17 00:00:00 2001 From: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com> Date: Fri, 6 Jan 2023 00:39:58 -0300 Subject: [PATCH] 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 :cl: 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. /:cl: Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> --- .../mob_spawn/corpses/mining_corpses.dm | 132 +++++++++++++----- 1 file changed, 98 insertions(+), 34 deletions(-) diff --git a/code/modules/mob_spawn/corpses/mining_corpses.dm b/code/modules/mob_spawn/corpses/mining_corpses.dm index 1fa709388b6..c6e7525a92c 100644 --- a/code/modules/mob_spawn/corpses/mining_corpses.dm +++ b/code/modules/mob_spawn/corpses/mining_corpses.dm @@ -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)