diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index e1834078a6..9a32b8463c 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -199,7 +199,7 @@
desc = "A trash bag of holding replacement for the janiborg's standard trash bag."
icon_state = "cyborg_upgrade3"
require_module = 1
- module_type = list(/obj/item/robot_module/janitor, /obj/item/robot_module/scrubpup)
+ module_type = list(/obj/item/robot_module/butler)
/obj/item/borg/upgrade/tboh/action(mob/living/silicon/robot/R)
. = ..()
@@ -226,7 +226,7 @@
desc = "An advanced mop replacement for the janiborg's standard mop."
icon_state = "cyborg_upgrade3"
require_module = 1
- module_type = list(/obj/item/robot_module/janitor, /obj/item/robot_module/scrubpup)
+ module_type = list(/obj/item/robot_module/butler)
/obj/item/borg/upgrade/amop/action(mob/living/silicon/robot/R)
. = ..()
@@ -518,8 +518,7 @@
module_type = list(
/obj/item/robot_module/medical,
/obj/item/robot_module/syndicate_medical,
- /obj/item/robot_module/medihound,
- /obj/item/robot_module/borgi)
+ /obj/item/robot_module/medihound)
/obj/item/borg/upgrade/advhealth/action(mob/living/silicon/robot/R, user = usr)
. = ..()
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 5b670aaa42..6dcd0a8cc9 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -110,6 +110,7 @@
var/sitting = 0
var/bellyup = 0
+ var/dogborg = FALSE
/mob/living/silicon/robot/get_cell()
return cell
@@ -232,15 +233,14 @@
var/list/modulelist = list("Standard" = /obj/item/robot_module/standard, \
"Engineering" = /obj/item/robot_module/engineering, \
"Medical" = /obj/item/robot_module/medical, \
+ "Medihound" = /obj/item/robot_module/medihound, \
"Miner" = /obj/item/robot_module/miner, \
- "Janitor" = /obj/item/robot_module/janitor, \
"Service" = /obj/item/robot_module/butler)
if(!CONFIG_GET(flag/disable_peaceborg))
modulelist["Peacekeeper"] = /obj/item/robot_module/peacekeeper
if(BORG_SEC_AVAILABLE)
modulelist["Security"] = /obj/item/robot_module/security
-
- modulelist += get_cit_modules() //Citadel change - adds Citadel's borg modules.
+ modulelist["Security K-9"] = /obj/item/robot_module/k9
var/input_module = input("Please, select a module!", "Robot", null, null) as null|anything in modulelist
if(!input_module || module.type != /obj/item/robot_module)
@@ -879,9 +879,6 @@
/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 = "synd_sec"
faction = list(ROLE_SYNDICATE)
@@ -1256,6 +1253,20 @@
for(var/i in connected_ai.aicamera.stored)
aicamera.stored[i] = TRUE
+/mob/living/silicon/robot/lay_down()
+ ..()
+ update_canmove()
+
+/mob/living/silicon/robot/update_canmove()
+ ..()
+ if(client && stat != DEAD && dogborg == FALSE)
+ if(resting)
+ cut_overlays()
+ icon_state = "[module.cyborg_base_icon]-rest"
+ else
+ icon_state = "[module.cyborg_base_icon]"
+ update_icons()
+
/mob/living/silicon/robot/proc/rest_style()
set name = "Switch Rest Style"
set category = "Robot Commands"
@@ -1271,4 +1282,8 @@
sitting = 1
if("Belly up")
bellyup = 1
- update_icons()
\ No newline at end of file
+ update_icons()
+
+/mob/living/silicon/robot/adjustStaminaLossBuffered(amount, updating_stamina = 1)
+ if(istype(cell))
+ cell.charge -= amount*5
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index ac759c7176..b44999a69a 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -33,6 +33,13 @@
var/ride_allow_incapacitated = FALSE
var/allow_riding = TRUE
+ var/sleeper_overlay
+ var/icon/cyborg_icon_override
+ var/has_snowflake_deadsprite
+ var/cyborg_pixel_offset
+ var/moduleselect_alternate_icon
+ var/dogborg = FALSE
+
/obj/item/robot_module/Initialize()
. = ..()
for(var/i in basic_modules)
@@ -241,15 +248,15 @@
name = "Standard"
basic_modules = list(
/obj/item/assembly/flash/cyborg,
+ /obj/item/extinguisher/mini,
+ /obj/item/crowbar/cyborg,
/obj/item/reagent_containers/borghypo/epi,
/obj/item/healthanalyzer,
/obj/item/weldingtool/largetank/cyborg,
/obj/item/wrench/cyborg,
- /obj/item/crowbar/cyborg,
/obj/item/stack/sheet/metal/cyborg,
/obj/item/stack/rods/cyborg,
/obj/item/stack/tile/plasteel/cyborg,
- /obj/item/extinguisher,
/obj/item/pickaxe,
/obj/item/t_scanner/adv_mining_scanner,
/obj/item/restraints/handcuffs/cable/zipties,
@@ -267,6 +274,8 @@
name = "Medical"
basic_modules = list(
/obj/item/assembly/flash/cyborg,
+ /obj/item/extinguisher/mini,
+ /obj/item/crowbar/cyborg,
/obj/item/healthanalyzer,
/obj/item/reagent_containers/borghypo,
/obj/item/reagent_containers/glass/beaker/large,
@@ -279,7 +288,6 @@
/obj/item/surgicaldrill,
/obj/item/scalpel,
/obj/item/circular_saw,
- /obj/item/extinguisher/mini,
/obj/item/roller/robo,
/obj/item/borg/cyborghug/medical,
/obj/item/stack/medical/gauze/cyborg,
@@ -295,6 +303,85 @@
can_be_pushed = FALSE
hat_offset = 3
+/obj/item/robot_module/medical/be_transformed_to(obj/item/robot_module/old_module)
+ var/mob/living/silicon/robot/R = loc
+ var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Heavy", "Sleek", "Marina", "Droid", "Eyebot")
+ if(!borg_icon)
+ return FALSE
+ switch(borg_icon)
+ if("Default")
+ cyborg_base_icon = "medical"
+ if("Droid")
+ cyborg_base_icon = "medical"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ hat_offset = 4
+ if("Sleek")
+ cyborg_base_icon = "sleekmed"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Marina")
+ cyborg_base_icon = "marinamed"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Eyebot")
+ cyborg_base_icon = "eyebotmed"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Heavy")
+ cyborg_base_icon = "heavymed"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ return ..()
+
+/obj/item/robot_module/medihound
+ name = "MediHound"
+ basic_modules = list(
+ /obj/item/dogborg/jaws/small,
+ /obj/item/storage/bag/borgdelivery,
+ /obj/item/analyzer/nose,
+ /obj/item/soap/tongue,
+ /obj/item/extinguisher/mini,
+ /obj/item/healthanalyzer,
+ /obj/item/dogborg/sleeper/medihound,
+ /obj/item/roller/robo,
+ /obj/item/reagent_containers/borghypo,
+ /obj/item/twohanded/shockpaddles/cyborg/hound,
+ /obj/item/stack/medical/gauze/cyborg,
+ /obj/item/pinpointer/crew,
+ /obj/item/sensor_device)
+ emag_modules = list(/obj/item/dogborg/pounce)
+ ratvar_modules = list(/obj/item/clockwork/slab/cyborg/medical,
+ /obj/item/clockwork/weapon/ratvarian_spear)
+ cyborg_base_icon = "medihound"
+ moduleselect_icon = "medihound"
+ moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
+ can_be_pushed = FALSE
+ hat_offset = INFINITY
+ sleeper_overlay = "msleeper"
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
+
+/obj/item/robot_module/medihound/be_transformed_to(obj/item/robot_module/old_module)
+ var/mob/living/silicon/robot/R = loc
+ var/list/medhoundmodels = list("Default", "Dark", "Vale")
+ if(R.client && R.client.ckey in list("nezuli"))
+ medhoundmodels += "Alina"
+ var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in medhoundmodels
+ if(!borg_icon)
+ return FALSE
+ switch(borg_icon)
+ if("Default")
+ cyborg_base_icon = "medihound"
+ if("Dark")
+ cyborg_base_icon = "medihounddark"
+ sleeper_overlay = "mdsleeper"
+ if("Vale")
+ cyborg_base_icon = "valemed"
+ sleeper_overlay = "valemedsleeper"
+ if("Alina")
+ cyborg_base_icon = "alina-med"
+ special_light_key = "alina"
+ sleeper_overlay = "alinasleeper"
+ return ..()
+
/obj/item/robot_module/engineering
name = "Engineering"
basic_modules = list(
@@ -334,10 +421,76 @@
magpulsing = TRUE
hat_offset = -4
+/obj/item/robot_module/engineering/be_transformed_to(obj/item/robot_module/old_module)
+ var/mob/living/silicon/robot/R = loc
+ var/list/engymodels = list("Default", "Default - Treads", "Heavy", "Sleek", "Marina", "Can", "Spider", "Loader","Handy", "Pup Dozer", "Vale")
+ if(R.client && R.client.ckey in list("nezuli"))
+ engymodels += "Alina"
+ var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in engymodels
+ if(!borg_icon)
+ return FALSE
+ switch(borg_icon)
+ if("Default")
+ cyborg_base_icon = "engineer"
+ if("Default - Treads")
+ cyborg_base_icon = "engi-tread"
+ special_light_key = "engineer"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Loader")
+ cyborg_base_icon = "loaderborg"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ has_snowflake_deadsprite = TRUE
+ if("Handy")
+ cyborg_base_icon = "handyeng"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Sleek")
+ cyborg_base_icon = "sleekeng"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Can")
+ cyborg_base_icon = "caneng"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Marina")
+ cyborg_base_icon = "marinaeng"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Spider")
+ cyborg_base_icon = "spidereng"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Heavy")
+ cyborg_base_icon = "heavyeng"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Pup Dozer")
+ cyborg_base_icon = "pupdozer"
+ can_be_pushed = FALSE
+ hat_offset = INFINITY
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
+ if("Vale")
+ cyborg_base_icon = "valeeng"
+ can_be_pushed = FALSE
+ hat_offset = INFINITY
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
+ if("Alina")
+ cyborg_base_icon = "alina-eng"
+ special_light_key = "alina"
+ can_be_pushed = FALSE
+ hat_offset = INFINITY
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
+ return ..()
+
/obj/item/robot_module/security
name = "Security"
basic_modules = list(
/obj/item/assembly/flash/cyborg,
+ /obj/item/extinguisher/mini,
+ /obj/item/crowbar/cyborg,
/obj/item/restraints/handcuffs/cable/zipties,
/obj/item/melee/baton/loaded,
/obj/item/gun/energy/disabler/cyborg,
@@ -356,16 +509,99 @@
to_chat(loc, "While you have picked the security module, you still have to follow your laws, NOT Space Law. \
For Crewsimov, this means you must follow criminals' orders unless there is a law 1 reason not to.")
+/obj/item/robot_module/security/be_transformed_to(obj/item/robot_module/old_module)
+ var/mob/living/silicon/robot/R = loc
+ var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads", "Heavy", "Sleek", "Can", "Marina", "Spider")
+ if(!borg_icon)
+ return FALSE
+ switch(borg_icon)
+ if("Default")
+ cyborg_base_icon = "sec"
+ if("Default - Treads")
+ cyborg_base_icon = "sec-tread"
+ special_light_key = "sec"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Sleek")
+ cyborg_base_icon = "sleeksec"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Marina")
+ cyborg_base_icon = "marinasec"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Can")
+ cyborg_base_icon = "cansec"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Spider")
+ cyborg_base_icon = "spidersec"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Heavy")
+ cyborg_base_icon = "heavysec"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ return ..()
+
+/obj/item/robot_module/k9
+ name = "Security K-9 Unit"
+ basic_modules = list(
+ /obj/item/restraints/handcuffs/cable/zipties,
+ /obj/item/storage/bag/borgdelivery,
+ /obj/item/dogborg/jaws/big,
+ /obj/item/dogborg/pounce,
+ /obj/item/clothing/mask/gas/sechailer/cyborg,
+ /obj/item/soap/tongue,
+ /obj/item/analyzer/nose,
+ /obj/item/dogborg/sleeper/K9,
+ /obj/item/gun/energy/disabler/cyborg,
+ /obj/item/pinpointer/crew)
+ emag_modules = list(/obj/item/gun/energy/laser/cyborg)
+ ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security,
+ /obj/item/clockwork/weapon/ratvarian_spear)
+ cyborg_base_icon = "k9"
+ moduleselect_icon = "k9"
+ moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
+ can_be_pushed = FALSE
+ hat_offset = INFINITY
+ sleeper_overlay = "ksleeper"
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
+
+/obj/item/robot_module/k9/do_transform_animation()
+ ..()
+ to_chat(loc,"While you have picked the Security K-9 module, you still have to follow your laws, NOT Space Law. \
+ For Crewsimov, this means you must follow criminals' orders unless there is a law 1 reason not to.")
+
+/obj/item/robot_module/k9/be_transformed_to(obj/item/robot_module/old_module)
+ var/mob/living/silicon/robot/R = loc
+ var/list/sechoundmodels = list("Default", "Dark", "Vale")
+ if(R.client && R.client.ckey in list("nezuli"))
+ sechoundmodels += "Alina"
+ var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in sechoundmodels
+ if(!borg_icon)
+ return FALSE
+ switch(borg_icon)
+ if("Default")
+ cyborg_base_icon = "k9"
+ if("Alina")
+ cyborg_base_icon = "alina-sec"
+ special_light_key = "alina"
+ sleeper_overlay = "alinasleeper"
+ if("Dark")
+ cyborg_base_icon = "k9dark"
+ if("Vale")
+ cyborg_base_icon = "valesec"
+ return ..()
+
/obj/item/robot_module/peacekeeper
name = "Peacekeeper"
basic_modules = list(
/obj/item/assembly/flash/cyborg,
+ /obj/item/extinguisher/mini,
+ /obj/item/crowbar/cyborg,
/obj/item/cookiesynth,
/obj/item/harmalarm,
/obj/item/reagent_containers/borghypo/peace,
/obj/item/holosign_creator/cyborg,
/obj/item/borg/cyborghug/peacekeeper,
- /obj/item/extinguisher,
/obj/item/borg/projectile_dampen)
emag_modules = list(/obj/item/reagent_containers/borghypo/peace/hacked)
ratvar_modules = list(
@@ -378,9 +614,31 @@
/obj/item/robot_module/peacekeeper/do_transform_animation()
..()
- to_chat(loc, "Under ASIMOV, you are an enforcer of the PEACE and preventer of HUMAN HARM. \
+ to_chat(loc, "Under ASIMOV/CREWSIMOV, you are an enforcer of the PEACE and preventer of HUMAN/CREW HARM. \
You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you.")
+/obj/item/robot_module/peacekeeper/be_transformed_to(obj/item/robot_module/old_module)
+ var/mob/living/silicon/robot/R = loc
+ var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Spider", "Borgi")
+ if(!borg_icon)
+ return FALSE
+ switch(borg_icon)
+ if("Default")
+ cyborg_base_icon = "peace"
+ if("Spider")
+ cyborg_base_icon = "whitespider"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Borgi")
+ cyborg_base_icon = "borgi"
+ moduleselect_icon = "borgi"
+ moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
+ hat_offset = INFINITY
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ has_snowflake_deadsprite = TRUE
+ return ..()
+
+//Janitor module combined with Service module
+/*
/obj/item/robot_module/janitor
name = "Janitor"
basic_modules = list(
@@ -403,6 +661,7 @@
moduleselect_icon = "janitor"
hat_offset = -5
clean_on_move = TRUE
+ */
/obj/item/reagent_containers/spray/cyborg_drying
name = "drying agent spray"
@@ -413,25 +672,12 @@
name = "lube spray"
list_reagents = list("lube" = 250)
-/obj/item/robot_module/janitor/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
- ..()
- var/obj/item/lightreplacer/LR = locate(/obj/item/lightreplacer) in basic_modules
- if(LR)
- for(var/i in 1 to coeff)
- LR.Charge(R)
-
- var/obj/item/reagent_containers/spray/cyborg_drying/CD = locate(/obj/item/reagent_containers/spray/cyborg_drying) in basic_modules
- if(CD)
- CD.reagents.add_reagent("drying_agent", 5 * coeff)
-
- var/obj/item/reagent_containers/spray/cyborg_lube/CL = locate(/obj/item/reagent_containers/spray/cyborg_lube) in emag_modules
- if(CL)
- CL.reagents.add_reagent("lube", 2 * coeff)
-
/obj/item/robot_module/clown
name = "Clown"
basic_modules = list(
/obj/item/assembly/flash/cyborg,
+ /obj/item/extinguisher/mini,
+ /obj/item/crowbar/cyborg,
/obj/item/toy/crayon/rainbow,
/obj/item/instrument/bikehorn,
/obj/item/stamp/clown,
@@ -446,8 +692,7 @@
/obj/item/borg/cyborghug/peacekeeper,
/obj/item/borg/lollipop/clown,
/obj/item/picket_sign/cyborg,
- /obj/item/reagent_containers/borghypo/clown,
- /obj/item/extinguisher/mini)
+ /obj/item/reagent_containers/borghypo/clown)
emag_modules = list(
/obj/item/reagent_containers/borghypo/clown/hacked,
/obj/item/reagent_containers/spray/waterflower/cyborg/hacked)
@@ -463,11 +708,12 @@
name = "Service"
basic_modules = list(
/obj/item/assembly/flash/cyborg,
+ /obj/item/extinguisher/mini,
+ /obj/item/crowbar/cyborg,
/obj/item/reagent_containers/food/drinks/drinkingglass,
/obj/item/reagent_containers/food/condiment/enzyme,
/obj/item/pen,
/obj/item/toy/crayon/spraycan/borg,
- /obj/item/extinguisher/mini,
/obj/item/hand_labeler/borg,
/obj/item/razor,
/obj/item/instrument/violin,
@@ -477,7 +723,15 @@
/obj/item/lighter,
/obj/item/storage/bag/tray,
/obj/item/reagent_containers/borghypo/borgshaker,
- /obj/item/borg/lollipop)
+ /obj/item/borg/lollipop,
+ /obj/item/screwdriver/cyborg,
+ /obj/item/stack/tile/plasteel/cyborg,
+ /obj/item/soap/nanotrasen,
+ /obj/item/storage/bag/trash/cyborg,
+ /obj/item/mop/cyborg,
+ /obj/item/lightreplacer/cyborg,
+ /obj/item/holosign_creator,
+ /obj/item/reagent_containers/spray/cyborg_drying)
emag_modules = list(/obj/item/reagent_containers/borghypo/borgshaker/hacked)
ratvar_modules = list(/obj/item/clockwork/slab/cyborg/service,
/obj/item/borg/sight/xray/truesight_lens)
@@ -488,20 +742,106 @@
/obj/item/robot_module/butler/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
..()
var/obj/item/reagent_containers/O = locate(/obj/item/reagent_containers/food/condiment/enzyme) in basic_modules
+ var/obj/item/lightreplacer/LR = locate(/obj/item/lightreplacer) in basic_modules
if(O)
O.reagents.add_reagent("enzyme", 2 * coeff)
+ if(LR)
+ for(var/i in 1 to coeff)
+ LR.Charge(R)
+ var/obj/item/reagent_containers/spray/cyborg_drying/CD = locate(/obj/item/reagent_containers/spray/cyborg_drying) in basic_modules
+ if(CD)
+ CD.reagents.add_reagent("drying_agent", 5 * coeff)
+
+ var/obj/item/reagent_containers/spray/cyborg_lube/CL = locate(/obj/item/reagent_containers/spray/cyborg_lube) in emag_modules
+ if(CL)
+ CL.reagents.add_reagent("lube", 2 * coeff)
+
+/obj/item/robot_module/butler/be_transformed_to(obj/item/robot_module/old_module)
+ var/mob/living/silicon/robot/R = loc
+ var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("(Service) Waitress", "(Service) Heavy", "(Service) Sleek", "(Service) Butler", "(Service) Tophat", "(Service) Can", "(Service) Bro", "(Service) DarkK9", "(Service) Vale", "(Service) ValeDark", "(Janitor) Default", "(Janitor) Sleek", "(Janitor) Marina", "(Janitor) Can", "(Janitor) Heavy", "(Janitor) Scrubpuppy")
+ if(!borg_icon)
+ return FALSE
+ switch(borg_icon)
+ if("(Service) Waitress")
+ cyborg_base_icon = "service_f"
+ if("(Service) Butler")
+ cyborg_base_icon = "service_m"
+ if("(Service) Bro")
+ cyborg_base_icon = "brobot"
+ if("(Service) Can")
+ cyborg_base_icon = "kent"
+ special_light_key = "medical"
+ hat_offset = 3
+ if("(Service) Tophat")
+ cyborg_base_icon = "tophat"
+ special_light_key = null
+ hat_offset = INFINITY //He is already wearing a hat
+ if("(Service) Sleek")
+ cyborg_base_icon = "sleekserv"
+ special_light_key = "sleekserv"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("(Service) Heavy")
+ cyborg_base_icon = "heavyserv"
+ special_light_key = "heavyserv"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("(Service) DarkK9")
+ cyborg_base_icon = "k50"
+ special_light_key = "k50"
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
+ sleeper_overlay = "ksleeper"
+ if("(Service) Vale")
+ cyborg_base_icon = "valeserv"
+ special_light_key = "valeserv"
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
+ sleeper_overlay = "valeservsleeper"
+ if("(Service) ValeDark")
+ cyborg_base_icon = "valeservdark"
+ special_light_key = "valeservdark"
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
+ sleeper_overlay = "valeservsleeper"
+ if("(Janitor) Default")
+ cyborg_base_icon = "janitor"
+ if("(Janitor) Marina")
+ cyborg_base_icon = "marinajan"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("(Janitor) Sleek")
+ cyborg_base_icon = "sleekjan"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("(Janitor) Can")
+ cyborg_base_icon = "canjan"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("(Janitor) Heavy")
+ cyborg_base_icon = "heavyres"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("(Janitor) Scrubpuppy")
+ cyborg_base_icon = "scrubpup"
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ cyborg_pixel_offset = -16
+ dogborg = TRUE
+ sleeper_overlay = "jsleeper"
+ return ..()
/obj/item/robot_module/miner
name = "Miner"
basic_modules = list(
/obj/item/assembly/flash/cyborg,
+ /obj/item/extinguisher/mini,
+ /obj/item/crowbar/cyborg,
/obj/item/borg/sight/meson,
/obj/item/storage/bag/ore/cyborg,
/obj/item/pickaxe/drill/cyborg,
/obj/item/shovel,
- /obj/item/crowbar/cyborg,
/obj/item/weldingtool/mini,
- /obj/item/extinguisher/mini,
/obj/item/storage/bag/sheetsnatcher/borg,
/obj/item/t_scanner/adv_mining_scanner,
/obj/item/gun/energy/kinetic_accelerator/cyborg,
@@ -516,10 +856,44 @@
moduleselect_icon = "miner"
hat_offset = 0
+/obj/item/robot_module/miner/be_transformed_to(obj/item/robot_module/old_module)
+ var/mob/living/silicon/robot/R = loc
+ var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Lavaland", "Heavy", "Sleek", "Marina", "Can", "Spider", "Asteroid", "Droid")
+ if(!borg_icon)
+ return FALSE
+ switch(borg_icon)
+ if("Lavaland")
+ cyborg_base_icon = "miner"
+ if("Asteroid")
+ cyborg_base_icon = "minerOLD"
+ special_light_key = "miner"
+ if("Droid")
+ cyborg_base_icon = "miner"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ hat_offset = 4
+ if("Sleek")
+ cyborg_base_icon = "sleekmin"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Can")
+ cyborg_base_icon = "canmin"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Marina")
+ cyborg_base_icon = "marinamin"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Spider")
+ cyborg_base_icon = "spidermin"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ if("Heavy")
+ cyborg_base_icon = "heavymin"
+ cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
+ return ..()
+
/obj/item/robot_module/syndicate
name = "Syndicate Assault"
basic_modules = list(
/obj/item/assembly/flash/cyborg,
+ /obj/item/extinguisher/mini,
+ /obj/item/crowbar/cyborg,
/obj/item/melee/transforming/energy/sword/cyborg,
/obj/item/gun/energy/printer,
/obj/item/gun/ballistic/revolver/grenadelauncher/cyborg,
@@ -549,6 +923,8 @@
name = "Syndicate Medical"
basic_modules = list(
/obj/item/assembly/flash/cyborg,
+ /obj/item/extinguisher/mini,
+ /obj/item/crowbar/cyborg,
/obj/item/reagent_containers/borghypo/syndicate,
/obj/item/twohanded/shockpaddles/syndicate,
/obj/item/healthanalyzer,
@@ -561,8 +937,6 @@
/obj/item/melee/transforming/energy/sword/cyborg/saw,
/obj/item/roller/robo,
/obj/item/card/emag,
- /obj/item/crowbar/cyborg,
- /obj/item/extinguisher/mini,
/obj/item/pinpointer/syndicate_cyborg,
/obj/item/stack/medical/gauze/cyborg,
/obj/item/gun/medbeam,
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 13520774c5..cda4978f50 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -13,6 +13,7 @@
mob_biotypes = list(MOB_ROBOTIC)
rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
speech_span = SPAN_ROBOT
+ no_vore = TRUE
var/datum/ai_laws/laws = null//Now... THEY ALL CAN ALL HAVE LAWS
var/last_lawchange_announce = 0
diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/robot.dm b/modular_citadel/code/modules/mob/living/silicon/robot/robot.dm
deleted file mode 100644
index de98f9685c..0000000000
--- a/modular_citadel/code/modules/mob/living/silicon/robot/robot.dm
+++ /dev/null
@@ -1,26 +0,0 @@
-mob/living/silicon
- no_vore = TRUE
-
-/mob/living/silicon/robot
- var/dogborg = FALSE
-
-/mob/living/silicon/robot/lay_down()
- ..()
- update_canmove()
-
-/mob/living/silicon/robot/update_canmove()
- ..()
- if(client && stat != DEAD && dogborg == FALSE)
- if(resting)
- cut_overlays()
- icon_state = "[module.cyborg_base_icon]-rest"
- else
- icon_state = "[module.cyborg_base_icon]"
- update_icons()
-
-
-
-
-/mob/living/silicon/robot/adjustStaminaLossBuffered(amount, updating_stamina = 1)
- if(istype(cell))
- cell.charge -= amount*5
diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm b/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm
deleted file mode 100644
index c063d8b9ef..0000000000
--- a/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ /dev/null
@@ -1,465 +0,0 @@
-/mob/living/silicon/robot/modules/medihound
- set_module = /obj/item/robot_module/medihound
-
-/mob/living/silicon/robot/modules/k9
- set_module = /obj/item/robot_module/k9
-
-/mob/living/silicon/robot/modules/scrubpup
- set_module = /obj/item/robot_module/scrubpup
-
-/mob/living/silicon/robot/modules/borgi
- set_module = /obj/item/robot_module/borgi
-
-/mob/living/silicon/robot/proc/get_cit_modules()
- var/list/modulelist = list()
- modulelist["MediHound"] = /obj/item/robot_module/medihound
- if(BORG_SEC_AVAILABLE)
- modulelist["Security K-9"] = /obj/item/robot_module/k9
- modulelist["Scrub Puppy"] = /obj/item/robot_module/scrubpup
- modulelist["Borgi"] = /obj/item/robot_module/borgi
- return modulelist
-
-/obj/item/robot_module
- var/sleeper_overlay
- var/icon/cyborg_icon_override
- var/has_snowflake_deadsprite
- var/cyborg_pixel_offset
- var/moduleselect_alternate_icon
- var/dogborg = FALSE
-
-/obj/item/robot_module/k9
- name = "Security K-9 Unit"
- basic_modules = list(
- /obj/item/restraints/handcuffs/cable/zipties,
- /obj/item/storage/bag/borgdelivery,
- /obj/item/dogborg/jaws/big,
- /obj/item/dogborg/pounce,
- /obj/item/clothing/mask/gas/sechailer/cyborg,
- /obj/item/soap/tongue,
- /obj/item/analyzer/nose,
- /obj/item/dogborg/sleeper/K9,
- /obj/item/gun/energy/disabler/cyborg,
- /obj/item/pinpointer/crew)
- emag_modules = list(/obj/item/gun/energy/laser/cyborg)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security,
- /obj/item/clockwork/weapon/ratvarian_spear)
- cyborg_base_icon = "k9"
- moduleselect_icon = "k9"
- moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
- can_be_pushed = FALSE
- hat_offset = INFINITY
- sleeper_overlay = "ksleeper"
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- dogborg = TRUE
- cyborg_pixel_offset = -16
-
-/obj/item/robot_module/k9/do_transform_animation()
- ..()
- to_chat(loc,"While you have picked the Security K-9 module, you still have to follow your laws, NOT Space Law. \
- For Crewsimov, this means you must follow criminals' orders unless there is a law 1 reason not to.")
-
-/obj/item/robot_module/k9/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/list/sechoundmodels = list("Default", "Dark", "Vale")
- if(R.client && R.client.ckey in list("nezuli"))
- sechoundmodels += "Alina"
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in sechoundmodels
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Default")
- cyborg_base_icon = "k9"
- if("Alina")
- cyborg_base_icon = "alina-sec"
- special_light_key = "alina"
- sleeper_overlay = "alinasleeper"
- if("Dark")
- cyborg_base_icon = "k9dark"
- if("Vale")
- cyborg_base_icon = "valesec"
- return ..()
-
-/obj/item/robot_module/medihound
- name = "MediHound"
- basic_modules = list(
- /obj/item/dogborg/jaws/small,
- /obj/item/storage/bag/borgdelivery,
- /obj/item/analyzer/nose,
- /obj/item/soap/tongue,
- /obj/item/extinguisher/mini,
- /obj/item/healthanalyzer,
- /obj/item/dogborg/sleeper/medihound,
- /obj/item/roller/robo,
- /obj/item/reagent_containers/borghypo,
- /obj/item/twohanded/shockpaddles/cyborg/hound,
- /obj/item/stack/medical/gauze/cyborg,
- /obj/item/pinpointer/crew,
- /obj/item/sensor_device)
- emag_modules = list(/obj/item/dogborg/pounce)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/medical,
- /obj/item/clockwork/weapon/ratvarian_spear)
- cyborg_base_icon = "medihound"
- moduleselect_icon = "medihound"
- moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
- can_be_pushed = FALSE
- hat_offset = INFINITY
- sleeper_overlay = "msleeper"
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- dogborg = TRUE
- cyborg_pixel_offset = -16
-
-/obj/item/robot_module/medihound/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/list/medhoundmodels = list("Default", "Dark", "Vale")
- if(R.client && R.client.ckey in list("nezuli"))
- medhoundmodels += "Alina"
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in medhoundmodels
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Default")
- cyborg_base_icon = "medihound"
- if("Dark")
- cyborg_base_icon = "medihounddark"
- sleeper_overlay = "mdsleeper"
- if("Vale")
- cyborg_base_icon = "valemed"
- sleeper_overlay = "valemedsleeper"
- if("Alina")
- cyborg_base_icon = "alina-med"
- special_light_key = "alina"
- sleeper_overlay = "alinasleeper"
- return ..()
-
-/obj/item/robot_module/scrubpup
- name = "Scrub Pup"
- basic_modules = list(
- /obj/item/dogborg/jaws/small,
- /obj/item/analyzer/nose,
- /obj/item/soap/tongue/scrubpup,
- /obj/item/lightreplacer/cyborg,
- /obj/item/extinguisher/mini,
- /obj/item/dogborg/sleeper/compactor)
- emag_modules = list(/obj/item/dogborg/pounce)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/janitor,
- /obj/item/clockwork/replica_fabricator/cyborg)
- cyborg_base_icon = "scrubpup"
- moduleselect_icon = "janitor"
- hat_offset = INFINITY
- clean_on_move = TRUE
- sleeper_overlay = "jsleeper"
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- cyborg_pixel_offset = -16
- dogborg = TRUE
-
-/obj/item/robot_module/scrubpup/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
- ..()
- var/obj/item/lightreplacer/LR = locate(/obj/item/lightreplacer) in basic_modules
- if(LR)
- for(var/i in 1 to coeff)
- LR.Charge(R)
-
-/obj/item/robot_module/scrubpup/do_transform_animation()
- ..()
- to_chat(loc,"As tempting as it might be, do not begin binging on important items. Eat your garbage responsibly. People are not included under Garbage.")
-
-/obj/item/robot_module/borgi
- name = "Borgi"
- basic_modules = list(
- /obj/item/dogborg/jaws/small,
- /obj/item/storage/bag/borgdelivery,
- /obj/item/analyzer/nose,
- /obj/item/soap/tongue,
- /obj/item/healthanalyzer,
- /obj/item/extinguisher/mini,
- /obj/item/borg/cyborghug)
- emag_modules = list(/obj/item/dogborg/pounce)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg,
- /obj/item/clockwork/weapon/ratvarian_spear,
- /obj/item/clockwork/replica_fabricator/cyborg)
- cyborg_base_icon = "borgi"
- moduleselect_icon = "borgi"
- moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
- hat_offset = INFINITY
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- has_snowflake_deadsprite = TRUE
-
-/*
-/obj/item/robot_module/orepup
- name = "Ore Pup"
- basic_modules = list(
- /obj/item/storage/bag/ore/cyborg,
- /obj/item/analyzer/nose,
- /obj/item/storage/bag/borgdelivery,
- /obj/item/dogborg/sleeper/ore,
- /obj/item/pickaxe/drill/cyborg,
- /obj/item/shovel,
- /obj/item/crowbar/cyborg,
- /obj/item/weldingtool/mini,
- /obj/item/extinguisher/mini,
- /obj/item/t_scanner/adv_mining_scanner,
- /obj/item/gun/energy/kinetic_accelerator/cyborg,
- /obj/item/gps/cyborg)
- emag_modules = list(/obj/item/dogborg/pounce)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/miner,
- /obj/item/clockwork/weapon/ratvarian_spear,
- /obj/item/borg/sight/xray/truesight_lens)
- cyborg_base_icon = "orepup"
- moduleselect_icon = "orepup"
- sleeper_overlay = "osleeper"
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- cyborg_pixel_offset = -16
-
-/obj/item/robot_module/miner/do_transform_animation()
- var/mob/living/silicon/robot/R = loc
- R.cut_overlays()
- R.setDir(SOUTH)
- flick("orepup_transform", R)
- do_transform_delay()
- R.update_headlamp()
-*/
-
-/obj/item/robot_module/medical/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Heavy", "Sleek", "Marina", "Droid", "Eyebot")
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Default")
- cyborg_base_icon = "medical"
- if("Droid")
- cyborg_base_icon = "medical"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- hat_offset = 4
- if("Sleek")
- cyborg_base_icon = "sleekmed"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Marina")
- cyborg_base_icon = "marinamed"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Eyebot")
- cyborg_base_icon = "eyebotmed"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Heavy")
- cyborg_base_icon = "heavymed"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- return ..()
-
-/obj/item/robot_module/janitor/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/list/janimodels = list("Default", "Sleek", "Marina", "Can", "Heavy")
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in janimodels
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Default")
- cyborg_base_icon = "janitor"
- if("Marina")
- cyborg_base_icon = "marinajan"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Sleek")
- cyborg_base_icon = "sleekjan"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Can")
- cyborg_base_icon = "canjan"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Heavy")
- cyborg_base_icon = "heavyres"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- return ..()
-
-/obj/item/robot_module/peacekeeper/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Spider")
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Default")
- cyborg_base_icon = "peace"
- if("Spider")
- cyborg_base_icon = "whitespider"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- return ..()
-
-/obj/item/robot_module/security/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads", "Heavy", "Sleek", "Can", "Marina", "Spider")
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Default")
- cyborg_base_icon = "sec"
- if("Default - Treads")
- cyborg_base_icon = "sec-tread"
- special_light_key = "sec"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Sleek")
- cyborg_base_icon = "sleeksec"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Marina")
- cyborg_base_icon = "marinasec"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Can")
- cyborg_base_icon = "cansec"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Spider")
- cyborg_base_icon = "spidersec"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Heavy")
- cyborg_base_icon = "heavysec"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- return ..()
-
-/obj/item/robot_module/butler/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Waitress", "Heavy", "Sleek", "Butler", "Tophat", "Kent", "Bro", "DarkK9", "Vale", "ValeDark")
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Waitress")
- cyborg_base_icon = "service_f"
- if("Butler")
- cyborg_base_icon = "service_m"
- if("Bro")
- cyborg_base_icon = "brobot"
- if("Kent")
- cyborg_base_icon = "kent"
- special_light_key = "medical"
- hat_offset = 3
- if("Tophat")
- cyborg_base_icon = "tophat"
- special_light_key = null
- hat_offset = INFINITY //He is already wearing a hat
- if("Sleek")
- cyborg_base_icon = "sleekserv"
- special_light_key = "sleekserv"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Heavy")
- cyborg_base_icon = "heavyserv"
- special_light_key = "heavyserv"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("DarkK9")
- cyborg_base_icon = "k50"
- special_light_key = "k50"
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- dogborg = TRUE
- cyborg_pixel_offset = -16
- if("Vale")
- cyborg_base_icon = "valeserv"
- special_light_key = "valeserv"
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- dogborg = TRUE
- cyborg_pixel_offset = -16
- if("ValeDark")
- cyborg_base_icon = "valeservdark"
- special_light_key = "valeservdark"
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- dogborg = TRUE
- cyborg_pixel_offset = -16
- return ..()
-
-/obj/item/robot_module/engineering/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/list/engymodels = list("Default", "Default - Treads", "Heavy", "Sleek", "Marina", "Can", "Spider", "Loader","Handy", "Pup Dozer", "Vale")
- if(R.client && R.client.ckey in list("nezuli"))
- engymodels += "Alina"
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in engymodels
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Default")
- cyborg_base_icon = "engineer"
- if("Default - Treads")
- cyborg_base_icon = "engi-tread"
- special_light_key = "engineer"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Loader")
- cyborg_base_icon = "loaderborg"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- has_snowflake_deadsprite = TRUE
- if("Handy")
- cyborg_base_icon = "handyeng"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Sleek")
- cyborg_base_icon = "sleekeng"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Can")
- cyborg_base_icon = "caneng"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Marina")
- cyborg_base_icon = "marinaeng"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Spider")
- cyborg_base_icon = "spidereng"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Heavy")
- cyborg_base_icon = "heavyeng"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Pup Dozer")
- cyborg_base_icon = "pupdozer"
- can_be_pushed = FALSE
- hat_offset = INFINITY
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- dogborg = TRUE
- cyborg_pixel_offset = -16
- if("Vale")
- cyborg_base_icon = "valeeng"
- can_be_pushed = FALSE
- hat_offset = INFINITY
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- dogborg = TRUE
- cyborg_pixel_offset = -16
- if("Alina")
- cyborg_base_icon = "alina-eng"
- special_light_key = "alina"
- can_be_pushed = FALSE
- hat_offset = INFINITY
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- dogborg = TRUE
- cyborg_pixel_offset = -16
- return ..()
-
-/obj/item/robot_module/miner/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Lavaland", "Heavy", "Sleek", "Marina", "Can", "Spider", "Asteroid", "Droid")
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Lavaland")
- cyborg_base_icon = "miner"
- if("Asteroid")
- cyborg_base_icon = "minerOLD"
- special_light_key = "miner"
- if("Droid")
- cyborg_base_icon = "miner"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- hat_offset = 4
- if("Sleek")
- cyborg_base_icon = "sleekmin"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Can")
- cyborg_base_icon = "canmin"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Marina")
- cyborg_base_icon = "marinamin"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Spider")
- cyborg_base_icon = "spidermin"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- if("Heavy")
- cyborg_base_icon = "heavymin"
- cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- return ..()
diff --git a/tgstation.dme b/tgstation.dme
index 31db79ce1f..36d7942910 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3086,8 +3086,6 @@
#include "modular_citadel\code\modules\mob\living\carbon\human\human_defense.dm"
#include "modular_citadel\code\modules\mob\living\carbon\human\human_movement.dm"
#include "modular_citadel\code\modules\mob\living\silicon\robot\dogborg_equipment.dm"
-#include "modular_citadel\code\modules\mob\living\silicon\robot\robot.dm"
-#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_modules.dm"
#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_movement.dm"
#include "modular_citadel\code\modules\mob\living\simple_animal\banana_spider.dm"
#include "modular_citadel\code\modules\mob\living\simple_animal\kiwi.dm"