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"