Borg Gripper and Module Tweaks (#985)

Fills in some strange holes in cyborg functionality, fixing several borgs that were not quite fit at doing their jobs:

-Adds rolling pin and knife to service borgs; should allow them to cook a full range of foods. I've been getting regular nagging about this one from the community
-Adds the ability to pick up assemblies for engineering/research borgs, allowing them to construct some complex devices, notably bots and motionsensing cameras.
-Several items added to research borg: Dropper and reagent scanner, for chemistry, pen for renaming bots and writing research notes, and a plant bag for working in xenoflora
-Added altclick functionality for setting transfer rates on beakers. Essential for chemistry and cooking, since borgs can't use rightclick verbs on gripped items.
This commit is contained in:
NanakoAC
2016-09-25 17:28:39 +03:00
committed by skull132
parent dd71e561e2
commit f01c7b68f8
4 changed files with 59 additions and 3 deletions
@@ -21,7 +21,8 @@
/obj/item/weapon/camera_assembly,
/obj/item/weapon/tank,
/obj/item/weapon/circuitboard,
/obj/item/weapon/smes_coil
/obj/item/weapon/smes_coil,
/obj/item/device/assembly//Primarily for making improved cameras, but opens many possibilities
)
var/obj/item/wrapped = null // Item currently being held.
@@ -82,8 +83,12 @@
/obj/item/weapon/circuitboard,
/obj/item/slime_extract,
/obj/item/weapon/reagent_containers/glass,
/obj/item/weapon/reagent_containers/food/snacks/monkeycube
/obj/item/weapon/reagent_containers/food/snacks/monkeycube,
/obj/item/device/assembly,//For building bots and similar complex R&D devices
/obj/item/device/healthanalyzer,//For building medibots
/obj/item/weapon/disk,
/obj/item/device/analyzer/plant_analyzer,//For farmbot construction
/obj/item/weapon/material/minihoe//Farmbots and xenoflora
)
/obj/item/weapon/gripper/chemistry //A gripper designed for chemistry, to allow borgs to work efficiently in the lab
@@ -131,6 +136,11 @@
return wrapped.attack_self(user)
return ..()
/obj/item/weapon/gripper/AltClick(mob/user as mob)
if(wrapped)
return wrapped.AltClick(user)
return ..()
/obj/item/weapon/gripper/verb/drop_item()
set name = "Drop Item"
@@ -516,6 +516,8 @@ var/global/list/robot_modules = list(
src.modules += new /obj/item/device/analyzer/plant_analyzer(src)
src.modules += new /obj/item/weapon/storage/bag/plants(src)
src.modules += new /obj/item/weapon/robot_harvester(src)
src.modules += new /obj/item/weapon/material/kitchen/rollingpin(src)
src.modules += new /obj/item/weapon/material/knife(src)
var/obj/item/weapon/rsf/M = new /obj/item/weapon/rsf(src)
M.stored_matter = 30
@@ -617,7 +619,11 @@ var/global/list/robot_modules = list(
src.modules += new /obj/item/weapon/extinguisher/mini(src)
src.modules += new /obj/item/weapon/reagent_containers/syringe(src)
src.modules += new /obj/item/weapon/gripper/chemistry(src)
src.modules += new /obj/item/weapon/reagent_containers/dropper/industrial(src)
src.modules += new /obj/item/device/reagent_scanner/adv(src)
src.modules += new /obj/item/weapon/extinguisher(src)
src.modules += new /obj/item/weapon/storage/bag/plants(src)
src.modules += new /obj/item/weapon/pen/robopen(src)
src.emag = new /obj/item/weapon/hand_tele(src)
var/datum/matter_synth/nanite = new /datum/matter_synth/nanite(10000)
@@ -71,6 +71,9 @@
flags |= OPENCONTAINER
update_icon()
AltClick(var/mob/user)
set_APTFT()
afterattack(var/obj/target, var/mob/user, var/flag)
if(!is_open_container() || !flag)