diff --git a/code/global_yw.dm b/code/global_yw.dm index 7c53a0817c..034c81068f 100644 --- a/code/global_yw.dm +++ b/code/global_yw.dm @@ -1,4 +1,5 @@ /hook/startup/proc/modules_yw() robot_module_types += "XenoMaid" robot_module_types += "Blade" + //robot_module_types += "Surgeryhound" commented out to disable for now. not happy with resulting borg. return 1 \ 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 6162890b45..01d277a7e4 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -185,7 +185,7 @@ var/global/list/robot_modules = list( name = "medical robot module" channels = list("Medical" = 1) networks = list(NETWORK_MEDICAL) - subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor) + subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor) //Give the surgeon ability to watch Crew monitor can_be_pushed = 0 /obj/item/weapon/robot_module/robot/medical/surgeon @@ -225,6 +225,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/gripper/medical(src) src.modules += new /obj/item/weapon/shockpaddles/robot(src) src.modules += new /obj/item/weapon/reagent_containers/dropper(src) // Allows surgeon borg to fix necrosis + src.modules += new /obj/item/device/sleevemate(src) src.emag = new /obj/item/weapon/reagent_containers/spray(src) src.emag.reagents.add_reagent("pacid", 250) src.emag.name = "Polyacid spray" @@ -251,6 +252,7 @@ var/global/list/robot_modules = list( /obj/item/weapon/robot_module/robot/medical/crisis name = "crisis robot module" + subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor) //Give the medical Crisis ability to watch Crew monitor sprites = list( "M-USE NanoTrasen" = "robotMedi", "Cabeiri" = "eyebot-medical", @@ -282,6 +284,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/gripper/medical(src) src.modules += new /obj/item/weapon/shockpaddles/robot(src) src.emag = new /obj/item/weapon/reagent_containers/spray(src) + src.modules += new /obj/item/device/sleevemate(src) src.emag.reagents.add_reagent("pacid", 250) src.emag.name = "Polyacid spray" diff --git a/code/modules/mob/living/silicon/robot/robot_modules_vr.dm b/code/modules/mob/living/silicon/robot/robot_modules_vr.dm index d0d1c4be4d..89885c6865 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules_vr.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules_vr.dm @@ -60,6 +60,7 @@ name = "MediHound module" channels = list("Medical" = 1) networks = list(NETWORK_MEDICAL) + subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor) //Crew monitor anywhere! can_be_pushed = 0 sprites = list( "Medical Hound" = "medihound", @@ -76,11 +77,13 @@ src.modules += new /obj/item/weapon/extinguisher/mini(src) //So they can put burning patients out. src.modules += new /obj/item/weapon/reagent_containers/borghypo(src)//So medi-hounds aren't nearly useless src.modules += new /obj/item/weapon/reagent_containers/syringe(src) //In case the chemist is nice! - src.modules += new /obj/item/weapon/reagent_containers/glass/beaker(src)//For holding the chemicals when the chemist is nice + src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src)//For holding the chemicals when the chemist is nice src.modules += new /obj/item/device/sleevemate(src) //Lets them scan people. + src.modules += new /obj/item/weapon/crowbar/cyborg(src)//Open up those pesky unpowered doors. Standard EMT equipment. + src.modules += new /obj/item/weapon/shockpaddles/robot(src) R.icon = 'icons/mob/widerobot_vr.dmi' - src.modules += new /obj/item/device/dogborg/pounce_module(src) //Pounce shit test src.modules += new /obj/item/weapon/crowbar(src)' + src.modules += new /obj/item/device/dogborg/pounce_module(src) //Pounce shit test R.hands.icon = 'icons/mob/screen1_robot_vr.dmi' //R.icon_state = "medihound" R.pixel_x = -16 diff --git a/code/modules/mob/living/silicon/robot/robot_modules_yw.dm b/code/modules/mob/living/silicon/robot/robot_modules_yw.dm index 9b514685f0..e8f0af6104 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules_yw.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules_yw.dm @@ -1,6 +1,7 @@ /hook/startup/proc/robot_modules_yw() robot_modules["XenoMaid"] = /obj/item/weapon/robot_module/xenomaid robot_modules["Blade"] = /obj/item/weapon/robot_module/blade + robot_modules["Surgeryhound"] = /obj/item/weapon/robot_module/surgeryhound return 1 /obj/item/weapon/robot_module/xenomaid @@ -56,4 +57,70 @@ R.hands.icon = 'icons/mob/screen1_robot_vr.dmi' R.pixel_x = -16 R.old_x = -16 - ..() \ No newline at end of file + ..() + + +/obj/item/weapon/robot_module/surgeryhound + name = "SurgeryHound module" + channels = list("medical" = 1) + networks = list (NETWORK_MEDICAL) + subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor) //Crew monitor anywhere! + can_be_pushed = 0 + sprites = list( + "Medical Hound" = "medihound", + "Dark Medical Hound (Static)" = "medihounddark" + ) + +/obj/item/weapon/robot_module/surgeryhound/New(var/mob/living/silicon/robot/R) + src.modules += new /obj/item/weapon/dogborg/jaws/small(src) //In case a patient is being attacked by carp. + src.modules += new /obj/item/device/dogborg/boop_module(src) //Boop the crew. + src.modules += new /obj/item/device/dogborg/tongue(src) //Clean up bloody items by licking them, and eat rubbish for + src.modules += new /obj/item/device/dogborg/sleeper(src) //So they can nom people and heal them + src.modules += new /obj/item/borg/sight/hud/med(src) + src.modules += new /obj/item/device/healthanalyzer(src) + src.modules += new /obj/item/weapon/reagent_containers/borghypo/surgeon(src) + src.modules += new /obj/item/weapon/surgical/scalpel(src) + src.modules += new /obj/item/weapon/surgical/hemostat(src) + src.modules += new /obj/item/weapon/surgical/retractor(src) + src.modules += new /obj/item/weapon/surgical/cautery(src) + src.modules += new /obj/item/weapon/surgical/bonegel(src) + src.modules += new /obj/item/weapon/surgical/FixOVein(src) + src.modules += new /obj/item/weapon/surgical/bonesetter(src) + src.modules += new /obj/item/weapon/surgical/circular_saw(src) + src.modules += new /obj/item/weapon/surgical/surgicaldrill(src) + src.modules += new /obj/item/weapon/gripper/no_use/organ(src) + src.modules += new /obj/item/weapon/gripper/medical(src) + src.modules += new /obj/item/weapon/shockpaddles/robot(src) + src.modules += new /obj/item/weapon/reagent_containers/dropper(src) // Allows surgeon borg to fix necrosis + src.modules += new /obj/item/device/sleevemate(src) + src.emag = new /obj/item/weapon/reagent_containers/spray(src) + src.emag.reagents.add_reagent("pacid", 250) + src.emag.name = "Polyacid spray" + + src.modules += new /obj/item/device/dogborg/pounce_module(src) //Pounce shit test + //R.icon_state = "medihound" + R.pixel_x = -16 + R.old_x = -16 + ..() + + var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(10000) + synths += medicine + + var/obj/item/stack/nanopaste/N = new /obj/item/stack/nanopaste(src) + var/obj/item/stack/medical/advanced/bruise_pack/B = new /obj/item/stack/medical/advanced/bruise_pack(src) + N.uses_charge = 1 + N.charge_costs = list(1000) + N.synths = list(medicine) + B.uses_charge = 1 + B.charge_costs = list(1000) + B.synths = list(medicine) + src.modules += N + src.modules += B + R.icon = 'icons/mob/widerobot_vr.dmi' + R.hands.icon = 'icons/mob/screen1_robot_vr.dmi' + +/obj/item/weapon/robot_module/medical/robot/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) + if(src.emag) + var/obj/item/weapon/reagent_containers/spray/PS = src.emag + PS.reagents.add_reagent("pacid", 2 * amount) + ..()