mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-18 19:44:58 +01:00
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user