diff --git a/modular_zubbers/code/game/objects/items/robot/items/storage.dm b/modular_zubbers/code/game/objects/items/robot/items/storage.dm index 3686c3402c1..8a7a6b0ebd6 100644 --- a/modular_zubbers/code/game/objects/items/robot/items/storage.dm +++ b/modular_zubbers/code/game/objects/items/robot/items/storage.dm @@ -13,10 +13,12 @@ storable = list( /obj/item/slime_extract, /obj/item/slimepotion, - /obj/item/disk, + /obj/item/disk/data, + /obj/item/disk/design_disk, + /obj/item/disk/tech_disk, + /obj/item/computer_disk,//ordinance /obj/item/stock_parts, /obj/item/reagent_containers/cup/beaker, - /obj/item/assembly/prox_sensor, /obj/item/healthanalyzer, //To build medibots /obj/item/borg_restart_board, //To allow repairs /obj/item/borg/upgrade/rename, //Basics not an upgrade @@ -24,6 +26,7 @@ /obj/item/mod, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/dropper, + /obj/item/food/monkeycube, ) /obj/item/borg/apparatus/research/examine() @@ -32,6 +35,8 @@ . += "The gripper currently has [stored] secured." . += span_notice(" Alt-click will drop the currently held item. ") +//To build funny little gadgets + /obj/item/borg/apparatus/circuit_sci name = "Research circuit assembly gripper" desc = "A complex grasping tool used for working with circuitry." @@ -45,6 +50,10 @@ /obj/item/integrated_circuit, /obj/item/circuit_component, /obj/item/usb_cable, + /obj/item/assembly/signaler, + /obj/item/healthanalyzer, //To build medibots + /obj/item/assembly/prox_sensor, + /obj/item/electronics, ) /obj/item/borg/apparatus/circuit_sci/examine() @@ -65,7 +74,7 @@ icon_state = "connector" storable = list( /obj/item/mmi, - /obj/item/assembly/flash, //Building borgs + /obj/item/assembly, //unrestricted assembly building /obj/item/bodypart/arm/left/robot, /obj/item/bodypart/arm/right/robot, /obj/item/bodypart/leg/left/robot, diff --git a/modular_zubbers/code/modules/borgs/code/robot_items.dm b/modular_zubbers/code/modules/borgs/code/robot_items.dm index 278df44d167..c14475d3448 100644 --- a/modular_zubbers/code/modules/borgs/code/robot_items.dm +++ b/modular_zubbers/code/modules/borgs/code/robot_items.dm @@ -106,7 +106,8 @@ icon = 'icons/obj/tools.dmi' icon_state = "inducer-sci" -//illegal teleporter module +//Illegal experimental Dash module + /obj/item/experimental_dash name = "Exerimental Dash" desc = "An experimental module that allows for dashing." @@ -127,15 +128,18 @@ spark_system.set_up(5, 0, src) spark_system.attach(src) -/obj/item/experimental_dash/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + +/obj/item/experimental_dash/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) . = ..() if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN) - return + return ITEM_INTERACT_SUCCESS if(cyborg.cell.charge <= charge_cost)//Prevents usage when charge is low user.balloon_alert(user, "Low charge!") - return - if(!target.density && jaunt?.teleport(user, target)) + return ITEM_INTERACT_SUCCESS + if(!interacting_with.density && jaunt?.teleport(user, interacting_with)) cyborg?.cell?.use(charge_cost) + return ITEM_INTERACT_SUCCESS + return NONE /obj/item/experimental_dash/equipped(mob/user, slot, initial) . = ..() @@ -159,7 +163,7 @@ max_charges = 1 charge_rate = 15 SECONDS beam_length = 1 SECONDS - recharge_sound = null + recharge_sound = 'sound/machines/ding.ogg' beam_effect = "plasmabeam" /datum/action/innate/dash/research/GiveAction(mob/viewer) //this action should be invisible @@ -171,3 +175,14 @@ //No more ghetto /obj/item/screwdriver/cyborg/power sharpness = NONE + +//Research cyborg omnitool + +/obj/item/borg/cyborg_omnitool/research + name = "research omni-toolset" + desc = "A set of engineering tools with a addition of tools to allow synthetic repairs." + + omni_toolkit = list( + /obj/item/surgical_drapes/cyborg, + /obj/item/bonesetter/cyborg, + ) diff --git a/modular_zubbers/code/modules/borgs/code/robot_model.dm b/modular_zubbers/code/modules/borgs/code/robot_model.dm index ce27623958a..760a96a274f 100644 --- a/modular_zubbers/code/modules/borgs/code/robot_model.dm +++ b/modular_zubbers/code/modules/borgs/code/robot_model.dm @@ -177,34 +177,35 @@ name = "Research" basic_modules = list( /obj/item/assembly/flash/cyborg, - /obj/item/extinguisher/mini, + /obj/item/extinguisher, /obj/item/weldingtool/largetank/cyborg, + /obj/item/borg/cyborg_omnitool/research, // A modded engineering omitool. + /obj/item/borg/cyborghug/medical, // You can now hug and fix synths :3c + /obj/item/multitool/cyborg, /obj/item/screwdriver/cyborg/power, /obj/item/crowbar/cyborg/power, - /obj/item/multitool/cyborg, /obj/item/analyzer, /obj/item/assembly/signaler/cyborg, /obj/item/borg/apparatus/sheet_manipulator, + /obj/item/storage/bag/sheetsnatcher/borg, + /obj/item/storage/bag/xeno, /obj/item/stack/cable_coil, /obj/item/borg/apparatus/beaker, /obj/item/borg/apparatus/organ_storage, /obj/item/borg/apparatus/research, /obj/item/borg/apparatus/circuit_sci, /obj/item/storage/part_replacer/cyborg, - /obj/item/surgical_drapes, /obj/item/healthanalyzer, /obj/item/experi_scanner, - /obj/item/bonesetter, /obj/item/stack/medical/gauze, /obj/item/borg/apparatus/tank_manipulator, ) radio_channels = list(RADIO_CHANNEL_SCIENCE) -//TODO: Illegal science stuff emag_modules = list( /obj/item/borg/stun, /obj/item/experimental_dash, - /obj/item/borg/apparatus/illegal //To replace malf printers + /obj/item/borg/apparatus/illegal //Get to work unit! ) cyborg_base_icon = "research" cyborg_icon_override = CYBORG_ICON_SCI diff --git a/modular_zubbers/code/modules/borgs/code/robot_upgrade.dm b/modular_zubbers/code/modules/borgs/code/robot_upgrade.dm index b732819b60f..dda0bdb571a 100644 --- a/modular_zubbers/code/modules/borgs/code/robot_upgrade.dm +++ b/modular_zubbers/code/modules/borgs/code/robot_upgrade.dm @@ -52,7 +52,6 @@ . = ..() model_type += /obj/item/robot_model/sci model_flags += BORG_MODEL_RESEARCH - items_to_remove = list(/obj/item/surgical_drapes) // Engineering BRPED /obj/item/borg/upgrade/rped/Initialize() @@ -60,6 +59,17 @@ items_to_add = list(/obj/item/storage/part_replacer/bluespace) items_to_add -= list(/obj/item/storage/part_replacer) +//Upgrade for the experi scanner +/obj/item/borg/upgrade/experi_scanner + name = "Research cyborg BlueSpace Experi-Scanner" + desc = "An upgrade to the Research model cyborg's standard health analyzer." + icon_state = "module_general" + require_model = TRUE + model_type = list(/obj/item/robot_model/sci) + model_flags = BORG_MODEL_RESEARCH + items_to_add = list(/obj/item/experi_scanner/bluespace) + items_to_remove = list(/obj/item/experi_scanner) + // Borg Dom Aura :) /obj/item/borg/upgrade/dominatrixmodule/action(mob/living/silicon/robot/borg, mob/living/user) . = ..() diff --git a/modular_zubbers/code/modules/research/designs/mechfab_designs.dm b/modular_zubbers/code/modules/research/designs/mechfab_designs.dm index 7749b30d343..df41517f96c 100644 --- a/modular_zubbers/code/modules/research/designs/mechfab_designs.dm +++ b/modular_zubbers/code/modules/research/designs/mechfab_designs.dm @@ -96,3 +96,15 @@ category = list( RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESEARCH ) + +//Some new toys +/datum/design/experi_scanner/bluespace_borg + name = "Cyborg Bluespace Experimental Scanner" + desc = "A version of the experiment scanner that allows for performing experiment scans from a distance." + id = "bs_experi_scanner_cyborg" + build_type = MECHFAB + materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*7.5, /datum/material/glass =SHEET_MATERIAL_AMOUNT * 2.5, /datum/material/silver = HALF_SHEET_MATERIAL_AMOUNT*2.5) + build_path = /obj/item/borg/upgrade/experi_scanner + category = list( + RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESEARCH + ) diff --git a/modular_zubbers/code/modules/research/techweb/all_nodes.dm b/modular_zubbers/code/modules/research/techweb/all_nodes.dm index d194a042d82..3ebbcb73ded 100644 --- a/modular_zubbers/code/modules/research/techweb/all_nodes.dm +++ b/modular_zubbers/code/modules/research/techweb/all_nodes.dm @@ -15,6 +15,7 @@ . = ..() design_ids += list( "bs_experi_scanner", + "bs_experi_scanner_cyborg", ) /datum/techweb_node/ai_laws/New()