diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm index 64b405bbd5..3b5b862559 100644 --- a/code/game/gamemodes/antag_spawner.dm +++ b/code/game/gamemodes/antag_spawner.dm @@ -203,9 +203,9 @@ var/mob/living/silicon/robot/R switch(borg_to_spawn) if("Medical") - R = new /mob/living/silicon/robot/syndicate/medical(T) + R = new /mob/living/silicon/robot/modules/syndicate/medical(T) else - R = new /mob/living/silicon/robot/syndicate(T) //Assault borg by default + R = new /mob/living/silicon/robot/modules/syndicate(T) //Assault borg by default var/brainfirstname = pick(GLOB.first_names_male) if(prob(50)) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 917242609e..d66e6f808a 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -941,3 +941,124 @@ riding_datum.unequip_buckle_inhands(M) riding_datum.restore_position(M) . = ..(M, force) + +/mob/living/carbon/human/species + var/race = null + +/mob/living/carbon/human/species/Initialize() + . = ..() + set_species(race) + +/mob/living/carbon/human/species/abductor + race = /datum/species/abductor + +/mob/living/carbon/human/species/android + race = /datum/species/android + +/mob/living/carbon/human/species/angel + race = /datum/species/angel + +/mob/living/carbon/human/species/corporate + race = /datum/species/corporate + +/mob/living/carbon/human/species/fly + race = /datum/species/fly + +/mob/living/carbon/human/species/golem + race = /datum/species/golem + +/mob/living/carbon/human/species/golem/random + race = /datum/species/golem/random + +/mob/living/carbon/human/species/golem/adamantine + race = /datum/species/golem/adamantine + +/mob/living/carbon/human/species/golem/plasma + race = /datum/species/golem/plasma + +/mob/living/carbon/human/species/golem/diamond + race = /datum/species/golem/diamond + +/mob/living/carbon/human/species/golem/gold + race = /datum/species/golem/gold + +/mob/living/carbon/human/species/golem/silver + race = /datum/species/golem/silver + +/mob/living/carbon/human/species/golem/plasteel + race = /datum/species/golem/plasteel + +/mob/living/carbon/human/species/golem/titanium + race = /datum/species/golem/titanium + +/mob/living/carbon/human/species/golem/plastitanium + race = /datum/species/golem/plastitanium + +/mob/living/carbon/human/species/golem/alien_alloy + race = /datum/species/golem/alloy + +/mob/living/carbon/human/species/golem/wood + race = /datum/species/golem/wood + +/mob/living/carbon/human/species/golem/uranium + race = /datum/species/golem/uranium + +/mob/living/carbon/human/species/golem/sand + race = /datum/species/golem/sand + +/mob/living/carbon/human/species/golem/glass + race = /datum/species/golem/glass + +/mob/living/carbon/human/species/golem/bluespace + race = /datum/species/golem/bluespace + +/mob/living/carbon/human/species/golem/bananium + race = /datum/species/golem/bananium + +/mob/living/carbon/human/species/golem/blood_cult + race = /datum/species/golem/runic + +/mob/living/carbon/human/species/golem/cloth + race = /datum/species/golem/cloth + +/mob/living/carbon/human/species/golem/plastic + race = /datum/species/golem/plastic + +/mob/living/carbon/human/species/jelly + race = /datum/species/jelly + +/mob/living/carbon/human/species/jelly/slime + race = /datum/species/jelly/slime + +/mob/living/carbon/human/species/lizard + race = /datum/species/lizard + +/mob/living/carbon/human/species/lizard/ashwalker + race = /datum/species/lizard/ashwalker + +/mob/living/carbon/human/species/plasma + race = /datum/species/plasmaman + +/mob/living/carbon/human/species/pod + race = /datum/species/pod + +/mob/living/carbon/human/species/shadow + race = /datum/species/shadow + +/mob/living/carbon/human/species/skeleton + race = /datum/species/skeleton + +/mob/living/carbon/human/species/synth + race = /datum/species/synth + +/mob/living/carbon/human/species/synth/military + race = /datum/species/synth/military + +/mob/living/carbon/human/species/zombie + race = /datum/species/zombie + +/mob/living/carbon/human/species/zombie/infectious + race = /datum/species/zombie/infectious + +/mob/living/carbon/human/species/zombie/krokodil_addict + race = /datum/species/krokodil_addict \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 01baf578ee..e264f00cf1 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -810,7 +810,35 @@ cell = null qdel(src) -/mob/living/silicon/robot/syndicate +/mob/living/silicon/robot/modules + var/set_module = null + +/mob/living/silicon/robot/modules/Initialize() + . = ..() + module.transform_to(set_module) + +/mob/living/silicon/robot/modules/standard + set_module = /obj/item/robot_module/standard + +/mob/living/silicon/robot/modules/medical + set_module = /obj/item/robot_module/medical + +/mob/living/silicon/robot/modules/engineering + set_module = /obj/item/robot_module/engineering + +/mob/living/silicon/robot/modules/security + set_module = /obj/item/robot_module/security + +/mob/living/silicon/robot/modules/peacekeeper + set_module = /obj/item/robot_module/peacekeeper + +/mob/living/silicon/robot/modules/miner + set_module = /obj/item/robot_module/miner + +/mob/living/silicon/robot/modules/janitor + set_module = /obj/item/robot_module/janitor + +/mob/living/silicon/robot/modules/syndicate icon_state = "syndie_bloodhound" faction = list("syndicate") bubble_icon = "syndibot" @@ -822,25 +850,24 @@ You are armed with powerful offensive tools to aid you in your mission: help the operatives secure the nuclear authentication disk. \ Your cyborg LMG will slowly produce ammunition from your power supply, and your operative pinpointer will find and locate fellow nuclear operatives. \ Help the operatives secure the disk at all costs!" - var/set_module = /obj/item/robot_module/syndicate + set_module = /obj/item/robot_module/syndicate -/mob/living/silicon/robot/syndicate/Initialize() +/mob/living/silicon/robot/modules/syndicate/Initialize() . = ..() cell.maxcharge = 25000 cell.charge = 25000 radio = new /obj/item/device/radio/borg/syndicate(src) - module.transform_to(set_module) laws = new /datum/ai_laws/syndicate_override() addtimer(CALLBACK(src, .proc/show_playstyle), 5) -/mob/living/silicon/robot/syndicate/proc/show_playstyle() +/mob/living/silicon/robot/modules/syndicate/proc/show_playstyle() if(playstyle_string) to_chat(src, playstyle_string) -/mob/living/silicon/robot/syndicate/ResetModule() +/mob/living/silicon/robot/modules/syndicate/ResetModule() return -/mob/living/silicon/robot/syndicate/medical +/mob/living/silicon/robot/modules/syndicate/medical icon_state = "syndi-medi" playstyle_string = "You are a Syndicate medical cyborg!
\ You are armed with powerful medical tools to aid you in your mission: help the operatives secure the nuclear authentication disk. \ diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 27284a1712..8c4f80b772 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -139,9 +139,9 @@ if("syndiborg") var/path if(prob(50)) - path = /mob/living/silicon/robot/syndicate + path = /mob/living/silicon/robot/modules/syndicate else - path = /mob/living/silicon/robot/syndicate/medical + path = /mob/living/silicon/robot/modules/syndicate/medical new_mob = new path(M.loc) if("drone") new_mob = new /mob/living/simple_animal/drone/polymorphed(M.loc)