mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
[MIRROR] Super Mega Mob Spawn Refactor [MDB IGNORE] (#10075)
* Super Mega Mob Spawn Refactor * Super Mega Mob Spawn Refactor * Update modular changes * update kilo * i wish unit tests would work on my machine * fix kilo...? Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com> Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> Co-authored-by: Gandalf <jzo123@hotmail.com>
This commit is contained in:
co-authored by
tralezab
Tom
Gandalf
parent
3c20fe4c12
commit
b894ce42d4
@@ -0,0 +1,79 @@
|
||||
|
||||
//jobs from ss13 but DEAD.
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/cargo_tech
|
||||
name = "Cargo Tech"
|
||||
outfit = /datum/outfit/job/cargo_tech
|
||||
icon_state = "corpsecargotech"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/cook
|
||||
name = "Cook"
|
||||
outfit = /datum/outfit/job/cook
|
||||
icon_state = "corpsecook"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/doctor
|
||||
name = "Doctor"
|
||||
outfit = /datum/outfit/job/doctor
|
||||
icon_state = "corpsedoctor"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/geneticist
|
||||
name = "Geneticist"
|
||||
outfit = /datum/outfit/job/geneticist
|
||||
icon_state = "corpsescientist"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/engineer
|
||||
name = "Engineer"
|
||||
outfit = /datum/outfit/job/engineer/gloved
|
||||
icon_state = "corpseengineer"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/engineer/rig
|
||||
outfit = /datum/outfit/job/engineer/gloved/rig
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/engineer/rig/gunner
|
||||
outfit = /datum/outfit/job/engineer/gloved/rig/gunner
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/clown
|
||||
name = "Clown"
|
||||
outfit = /datum/outfit/job/clown
|
||||
icon_state = "corpseclown"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/scientist
|
||||
name = "Scientist"
|
||||
outfit = /datum/outfit/job/scientist
|
||||
icon_state = "corpsescientist"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/miner
|
||||
name = "Shaft Miner"
|
||||
outfit = /datum/outfit/job/miner
|
||||
icon_state = "corpseminer"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/miner/rig
|
||||
outfit = /datum/outfit/job/miner/equipped/hardsuit
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/miner/explorer
|
||||
outfit = /datum/outfit/job/miner/equipped
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/plasmaman
|
||||
mob_species = /datum/species/plasmaman
|
||||
outfit = /datum/outfit/plasmaman
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/assistant
|
||||
name = "Assistant"
|
||||
outfit = /datum/outfit/job/assistant
|
||||
icon_state = "corpsegreytider"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/assistant/beesease_infection/special(mob/living/spawned_mob)
|
||||
. = ..()
|
||||
spawned_mob.ForceContractDisease(new /datum/disease/beesease)
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/assistant/brainrot_infection/special(mob/living/spawned_mob)
|
||||
. = ..()
|
||||
spawned_mob.ForceContractDisease(new /datum/disease/brainrot)
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/assistant/spanishflu_infection/special(mob/living/spawned_mob)
|
||||
. = ..()
|
||||
spawned_mob.ForceContractDisease(new /datum/disease/fluspanish)
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/bartender
|
||||
name = "Bartender"
|
||||
outfit = /datum/outfit/spacebartender
|
||||
@@ -171,7 +171,7 @@
|
||||
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))
|
||||
l_pocket = pick(list(/obj/item/crowbar/power, /obj/item/screwdriver/power, /obj/item/weldingtool/electric)) // SKYRAT EDIT CHANGE FROM /obj/item/weldingtool/experimental
|
||||
|
||||
//this is so pointlessly gendered but whatever bro i'm here to refactor not judge
|
||||
/datum/outfit/consumed_dame
|
||||
|
||||
@@ -0,0 +1,229 @@
|
||||
|
||||
///all the corpses meant as mob drops yes, these definitely could be sorted properly. i invite (you) to do it!!
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/syndicatesoldier
|
||||
name = "Syndicate Operative"
|
||||
hairstyle = "Bald"
|
||||
facial_hairstyle = "Shaved"
|
||||
outfit = /datum/outfit/syndicatesoldiercorpse
|
||||
|
||||
/datum/outfit/syndicatesoldiercorpse
|
||||
name = "Syndicate Operative Corpse"
|
||||
uniform = /obj/item/clothing/under/syndicate
|
||||
suit = /obj/item/clothing/suit/armor/vest
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/tackler/combat/insulated
|
||||
ears = /obj/item/radio/headset
|
||||
mask = /obj/item/clothing/mask/gas
|
||||
head = /obj/item/clothing/head/helmet/swat
|
||||
back = /obj/item/storage/backpack
|
||||
id = /obj/item/card/id/advanced/chameleon
|
||||
id_trim = /datum/id_trim/chameleon/operative
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/syndicatecommando
|
||||
name = "Syndicate Commando"
|
||||
hairstyle = "Bald"
|
||||
facial_hairstyle = "Shaved"
|
||||
outfit = /datum/outfit/syndicatecommandocorpse
|
||||
|
||||
/datum/outfit/syndicatecommandocorpse
|
||||
name = "Syndicate Commando Corpse"
|
||||
uniform = /obj/item/clothing/under/syndicate
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/syndi
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/tackler/combat/insulated
|
||||
ears = /obj/item/radio/headset
|
||||
mask = /obj/item/clothing/mask/gas/syndicate
|
||||
back = /obj/item/tank/jetpack/oxygen
|
||||
r_pocket = /obj/item/tank/internals/emergency_oxygen
|
||||
id = /obj/item/card/id/advanced/chameleon
|
||||
id_trim = /datum/id_trim/chameleon/operative
|
||||
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/syndicatestormtrooper
|
||||
name = "Syndicate Stormtrooper"
|
||||
hairstyle = "Bald"
|
||||
facial_hairstyle = "Shaved"
|
||||
outfit = /datum/outfit/syndicatestormtroopercorpse
|
||||
|
||||
/datum/outfit/syndicatestormtroopercorpse
|
||||
name = "Syndicate Stormtrooper Corpse"
|
||||
uniform = /obj/item/clothing/under/syndicate
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/syndi/elite
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/tackler/combat
|
||||
ears = /obj/item/radio/headset
|
||||
mask = /obj/item/clothing/mask/gas/syndicate
|
||||
back = /obj/item/tank/jetpack/oxygen/harness
|
||||
id = /obj/item/card/id/advanced/chameleon
|
||||
id_trim = /datum/id_trim/chameleon/operative
|
||||
|
||||
/obj/effect/mob_spawn/human/clown/corpse
|
||||
skin_tone = "caucasian1"
|
||||
hairstyle = "Bald"
|
||||
facial_hairstyle = "Shaved"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/pirate
|
||||
name = "Pirate"
|
||||
skin_tone = "caucasian1" //all pirates are white because it's easier that way
|
||||
outfit = /datum/outfit/piratecorpse
|
||||
hairstyle = "Bald"
|
||||
facial_hairstyle = "Shaved"
|
||||
|
||||
/datum/outfit/piratecorpse
|
||||
name = "Pirate Corpse"
|
||||
uniform = /obj/item/clothing/under/costume/pirate
|
||||
shoes = /obj/item/clothing/shoes/jackboots
|
||||
glasses = /obj/item/clothing/glasses/eyepatch
|
||||
head = /obj/item/clothing/head/bandana
|
||||
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/pirate/ranged
|
||||
name = "Pirate Gunner"
|
||||
outfit = /datum/outfit/piratecorpse/ranged
|
||||
|
||||
/datum/outfit/piratecorpse/ranged
|
||||
name = "Pirate Gunner Corpse"
|
||||
suit = /obj/item/clothing/suit/pirate
|
||||
head = /obj/item/clothing/head/pirate
|
||||
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/russian
|
||||
name = "Russian"
|
||||
outfit = /datum/outfit/russiancorpse
|
||||
hairstyle = "Bald"
|
||||
facial_hairstyle = "Shaved"
|
||||
|
||||
/datum/outfit/russiancorpse
|
||||
name = "Russian Corpse"
|
||||
uniform = /obj/item/clothing/under/costume/soviet
|
||||
shoes = /obj/item/clothing/shoes/jackboots
|
||||
head = /obj/item/clothing/head/bearpelt
|
||||
gloves = /obj/item/clothing/gloves/color/black
|
||||
mask = /obj/item/clothing/mask/gas
|
||||
|
||||
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/russian/ranged
|
||||
outfit = /datum/outfit/russiancorpse/ranged
|
||||
|
||||
/datum/outfit/russiancorpse/ranged
|
||||
name = "Ranged Russian Corpse"
|
||||
head = /obj/item/clothing/head/ushanka
|
||||
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/russian/ranged/trooper
|
||||
outfit = /datum/outfit/russiancorpse/ranged/trooper
|
||||
|
||||
/datum/outfit/russiancorpse/ranged/trooper
|
||||
name = "Ranged Russian Trooper Corpse"
|
||||
uniform = /obj/item/clothing/under/syndicate/camo
|
||||
suit = /obj/item/clothing/suit/armor/bulletproof
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/tackler/combat
|
||||
ears = /obj/item/radio/headset
|
||||
head = /obj/item/clothing/head/helmet/alt
|
||||
mask = /obj/item/clothing/mask/balaclava
|
||||
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/russian/ranged/officer
|
||||
name = "Russian Officer"
|
||||
outfit = /datum/outfit/russiancorpse/officer
|
||||
|
||||
/datum/outfit/russiancorpse/officer
|
||||
name = "Russian Officer Corpse"
|
||||
uniform = /obj/item/clothing/under/costume/russian_officer
|
||||
suit = /obj/item/clothing/suit/security/officer/russian
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
ears = /obj/item/radio/headset
|
||||
head = /obj/item/clothing/head/ushanka
|
||||
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/wizard
|
||||
name = "Space Wizard Corpse"
|
||||
outfit = /datum/outfit/wizardcorpse
|
||||
hairstyle = "Bald"
|
||||
facial_hairstyle = "Beard (Very Long)"
|
||||
facial_haircolor = COLOR_WHITE
|
||||
skin_tone = "caucasian1"
|
||||
|
||||
/datum/outfit/wizardcorpse
|
||||
name = "Space Wizard Corpse"
|
||||
uniform = /obj/item/clothing/under/color/lightpurple
|
||||
suit = /obj/item/clothing/suit/wizrobe
|
||||
shoes = /obj/item/clothing/shoes/sandal/magic
|
||||
head = /obj/item/clothing/head/wizard
|
||||
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/nanotrasensoldier
|
||||
name = "\improper Nanotrasen Private Security Officer"
|
||||
outfit = /datum/outfit/nanotrasensoldiercorpse2
|
||||
hairstyle = "Bald"
|
||||
facial_hairstyle = "Shaved"
|
||||
|
||||
/datum/outfit/nanotrasensoldiercorpse2
|
||||
name = "NT Private Security Officer Corpse"
|
||||
uniform = /obj/item/clothing/under/rank/security/officer
|
||||
suit = /obj/item/clothing/suit/armor/vest
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/tackler/combat
|
||||
ears = /obj/item/radio/headset
|
||||
mask = /obj/item/clothing/mask/gas/sechailer/swat
|
||||
head = /obj/item/clothing/head/helmet/swat/nanotrasen
|
||||
back = /obj/item/storage/backpack/security
|
||||
id = /obj/item/card/id/advanced/centcom
|
||||
id_trim = /datum/id_trim/centcom/corpse/private_security/tradepost_officer
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/nanotrasenassaultsoldier
|
||||
name = "Nanotrasen Private Security Officer"
|
||||
outfit = /datum/outfit/nanotrasenassaultsoldiercorpse
|
||||
hairstyle = "Bald"
|
||||
facial_hairstyle = "Shaved"
|
||||
|
||||
/datum/outfit/nanotrasenassaultsoldiercorpse
|
||||
name = "NT Assault Officer Corpse"
|
||||
uniform = /obj/item/clothing/under/syndicate
|
||||
suit = /obj/item/clothing/suit/armor/vest
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/combat
|
||||
ears = /obj/item/radio/headset
|
||||
mask = /obj/item/clothing/mask/gas/sechailer/swat
|
||||
head = /obj/item/clothing/head/helmet/swat/nanotrasen
|
||||
back = /obj/item/storage/backpack/security
|
||||
id = /obj/item/card/id/advanced/centcom
|
||||
id_trim = /datum/id_trim/centcom/corpse/assault
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/cat_butcher
|
||||
name = "The Cat Surgeon"
|
||||
hairstyle = "Cut Hair"
|
||||
facial_hairstyle = "Watson Mustache"
|
||||
skin_tone = "caucasian1"
|
||||
outfit = /datum/outfit/cat_butcher
|
||||
|
||||
/datum/outfit/cat_butcher
|
||||
name = "Cat Butcher Uniform"
|
||||
uniform = /obj/item/clothing/under/rank/medical/doctor/green
|
||||
suit = /obj/item/clothing/suit/apron/surgical
|
||||
shoes = /obj/item/clothing/shoes/sneakers/white
|
||||
gloves = /obj/item/clothing/gloves/color/latex/nitrile
|
||||
ears = /obj/item/radio/headset
|
||||
back = /obj/item/storage/backpack/satchel/med
|
||||
id = /obj/item/card/id/advanced
|
||||
glasses = /obj/item/clothing/glasses/hud/health
|
||||
id_trim = /datum/id_trim/away/cat_surgeon
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/bee_terrorist
|
||||
name = "BLF Operative"
|
||||
outfit = /datum/outfit/bee_terrorist
|
||||
|
||||
/datum/outfit/bee_terrorist
|
||||
name = "BLF Operative"
|
||||
uniform = /obj/item/clothing/under/color/yellow
|
||||
suit = /obj/item/clothing/suit/hooded/bee_costume
|
||||
shoes = /obj/item/clothing/shoes/sneakers/yellow
|
||||
gloves = /obj/item/clothing/gloves/color/yellow
|
||||
ears = /obj/item/radio/headset
|
||||
belt = /obj/item/storage/belt/fannypack/yellow/bee_terrorist
|
||||
id = /obj/item/card/id/advanced
|
||||
l_pocket = /obj/item/paper/fluff/bee_objectives
|
||||
mask = /obj/item/clothing/mask/animal/rat/bee
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
//generally nanotrasen themed corpses
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/bridgeofficer
|
||||
name = "Bridge Officer"
|
||||
outfit = /datum/outfit/nanotrasenbridgeofficer
|
||||
|
||||
/datum/outfit/nanotrasenbridgeofficer
|
||||
name = "Bridge Officer"
|
||||
ears = /obj/item/radio/headset/heads/hop
|
||||
uniform = /obj/item/clothing/under/rank/centcom/officer
|
||||
suit = /obj/item/clothing/suit/armor/bulletproof
|
||||
shoes = /obj/item/clothing/shoes/sneakers/black
|
||||
glasses = /obj/item/clothing/glasses/sunglasses
|
||||
id = /obj/item/card/id/advanced/centcom
|
||||
id_trim = /datum/id_trim/centcom/corpse/bridge_officer
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/commander
|
||||
name = "Commander"
|
||||
outfit = /datum/outfit/nanotrasencommander
|
||||
|
||||
/datum/outfit/nanotrasencommander
|
||||
name = "\improper Nanotrasen Private Security Commander"
|
||||
uniform = /obj/item/clothing/under/rank/centcom/commander
|
||||
suit = /obj/item/clothing/suit/armor/bulletproof
|
||||
ears = /obj/item/radio/headset/heads/captain
|
||||
glasses = /obj/item/clothing/glasses/eyepatch
|
||||
mask = /obj/item/clothing/mask/cigarette/cigar/cohiba
|
||||
head = /obj/item/clothing/head/centhat
|
||||
gloves = /obj/item/clothing/gloves/tackler/combat
|
||||
shoes = /obj/item/clothing/shoes/combat/swat
|
||||
r_pocket = /obj/item/lighter
|
||||
id = /obj/item/card/id/advanced/centcom
|
||||
id_trim = /datum/id_trim/centcom/corpse/commander
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/nanotrasensoldier
|
||||
name = "\improper Nanotrasen Private Security Officer"
|
||||
outfit = /datum/outfit/nanotrasensoldier
|
||||
|
||||
/datum/outfit/nanotrasensoldier
|
||||
name = "NT Private Security Officer"
|
||||
uniform = /obj/item/clothing/under/rank/security/officer
|
||||
suit = /obj/item/clothing/suit/armor/vest
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/tackler/combat
|
||||
mask = /obj/item/clothing/mask/gas/sechailer/swat
|
||||
head = /obj/item/clothing/head/helmet/swat/nanotrasen
|
||||
back = /obj/item/storage/backpack/security
|
||||
id = /obj/item/card/id/advanced
|
||||
id_trim = /datum/id_trim/centcom/corpse/private_security
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/intern //this is specifically the comms intern from the event
|
||||
name = "CentCom Intern"
|
||||
outfit = /datum/outfit/centcom/centcom_intern/unarmed
|
||||
mob_name = "Nameless Intern"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/intern/special(mob/living/carbon/human/spawned_human)
|
||||
. = ..()
|
||||
spawned_human.gender = MALE //we're making it canon babies
|
||||
spawned_human.update_body()
|
||||
@@ -0,0 +1,40 @@
|
||||
|
||||
//full of weird and wacky mob spawns. this is probably the darkest corner of mob spawns even after cleanup so be ready for shitcode
|
||||
|
||||
///dead ai, blue screen and everything.
|
||||
/obj/effect/mob_spawn/corpse/ai
|
||||
mob_type = /mob/living/silicon/ai/spawned
|
||||
|
||||
/obj/effect/mob_spawn/corpse/ai/create(mob/user, newname)
|
||||
var/ai_already_present = locate(/mob/living/silicon/ai) in loc
|
||||
if(ai_already_present)
|
||||
return
|
||||
. = ..()
|
||||
|
||||
/obj/effect/mob_spawn/corpse/ai/special(mob/living/silicon/ai/spawned/dead_ai)
|
||||
. = ..()
|
||||
dead_ai.name = src.name
|
||||
dead_ai.real_name = src.name
|
||||
dead_ai.aiPDA.toff = TRUE //turns the AI's PDA messenger off, stopping it showing up on player PDAs
|
||||
|
||||
///dead slimes, with a var for whatever color you want.
|
||||
/obj/effect/mob_spawn/corpse/slime
|
||||
mob_type = /mob/living/simple_animal/slime
|
||||
icon = 'icons/mob/slimes.dmi'
|
||||
icon_state = "grey baby slime" //sets the icon in the map editor
|
||||
///the color of the slime you're spawning.
|
||||
var/slime_species = "grey"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/slime/special(mob/living/simple_animal/slime/spawned_slime)
|
||||
. = ..()
|
||||
spawned_slime.set_colour(slime_species)
|
||||
|
||||
///dead facehuggers, great for xeno ruins so you can have a cool ruin without spiraling the entire round into xenomorph hell. also, this is a terrible terrible artifact of time
|
||||
/obj/effect/mob_spawn/corpse/facehugger
|
||||
//mostly for unit tests to not get alarmed (which by all means it should because this is a mess)
|
||||
mob_type = /obj/item/clothing/mask/facehugger
|
||||
|
||||
/obj/effect/mob_spawn/corpse/facehugger/create(mob/user)
|
||||
var/obj/item/clothing/mask/facehugger/spawned_facehugger = new mob_type(loc)
|
||||
spawned_facehugger.Die()
|
||||
qdel(src)
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
//corpses that only differentiate themselves by representing a species
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/skeleton
|
||||
mob_species = /datum/species/skeleton
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/zombie
|
||||
mob_species = /datum/species/zombie
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/abductor
|
||||
name = "abductor"
|
||||
mob_name = "alien"
|
||||
mob_species = /datum/species/abductor
|
||||
outfit = /datum/outfit/abductorcorpse
|
||||
|
||||
/datum/outfit/abductorcorpse
|
||||
name = "Abductor Corpse"
|
||||
uniform = /obj/item/clothing/under/color/grey
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
Reference in New Issue
Block a user