General synthetic and mecha fixes (#3936)

This commit is contained in:
Alberyk
2017-12-14 12:09:47 -06:00
committed by Lohikar
parent 6ce3b7519a
commit 913209fbfe
9 changed files with 30 additions and 9 deletions
+7 -2
View File
@@ -326,13 +326,18 @@
return
/obj/mecha/proc/interface_action(obj/machinery/target)
if(istype(target, /obj/machinery/access_button))
if(istype(target, /obj/machinery/access_button) && target.Adjacent(src))
src.occupant_message("<span class='notice'>Interfacing with [target].</span>")
src.log_message("Interfaced with [target].")
target.attack_hand(src.occupant)
return 1
if(istype(target, /obj/machinery/embedded_controller))
target.ui_interact(src.occupant)
if(target in view(2,src))
src.occupant_message("<span class='notice'>Interfacing with [target].</span>")
src.log_message("Interfaced with [target].")
target.ui_interact(src.occupant)
else
src.occupant_message("<span class='notice'>Unable to interface with [target], target out of range.</span>")
return 1
return 0
@@ -3,7 +3,6 @@
/obj/item/device/mmi/digital/New()
src.brainmob = new(src)
src.brainmob.stat = CONSCIOUS
src.brainmob.add_language("Robot Talk")
src.brainmob.container = src
src.brainmob.silent = 0
..()
@@ -51,7 +51,4 @@
else
canmove = 0
return canmove
/mob/living/carbon/brain/binarycheck()
return istype(loc, /obj/item/device/mmi/digital)
return canmove
@@ -10,6 +10,7 @@
..()
src.brainmob.name = "[pick(list("ADA","DOS","GNU","MAC","WIN"))]-[rand(1000, 9999)]"
src.brainmob.real_name = src.brainmob.name
src.name = "robotic intelligence circuit ([src.brainmob.name])"
/obj/item/device/mmi/digital/robot/transfer_identity(var/mob/living/carbon/H)
..()
@@ -17,3 +18,6 @@
brainmob.mind.assigned_role = "Robotic Intelligence"
brainmob << "<span class='notify'>You feel slightly disoriented. That's normal when you're little more than a complex circuit.</span>"
return
/obj/item/device/mmi/digital/robot/attack_self(mob/user as mob)
return
@@ -387,6 +387,7 @@ var/global/list/robot_modules = list(
src.modules += new /obj/item/device/floor_painter(src)// to make america great again (c)
src.modules += new /obj/item/weapon/inflatable_dispenser(src) // to stop those pesky humans being entering the zone
src.modules += new /obj/item/weapon/pickaxe/borgdrill(src) // as station is being located at the rock terrain, which is presumed to be digged out to clear the area for new rooms
src.emag = new /obj/item/weapon/gun/energy/plasmacutter/mounted(src)
src.malfAImodule += new /obj/item/weapon/rtf(src)
var/datum/matter_synth/metal = new /datum/matter_synth/metal(80000)
+5 -2
View File
@@ -86,6 +86,9 @@
/mob/living/carbon/human/default_can_use_topic(var/src_object)
. = shared_nano_interaction(src_object)
if(. != STATUS_CLOSE)
. = min(., shared_living_nano_distance(src_object))
if(loc)
. = min(., loc.contents_nano_distance(src_object, src))
else
. = min(., shared_living_nano_distance(src_object))
if(. == STATUS_UPDATE && (TK in mutations)) // If we have telekinesis and remain close enough, allow interaction.
return STATUS_INTERACTIVE
return STATUS_INTERACTIVE
+4
View File
@@ -389,6 +389,10 @@
user << "<span class='danger'>You cannot install a computer brain into a meat skull.</span>"
return SURGERY_FAILURE
if(!target.isSynthetic())
user << "<span class='danger'>You cannot install a computer brain into an organic body.</span>"
return SURGERY_FAILURE
if(!target.species)
user << "<span class='danger'>You have no idea what species this person is. Report this on the bug tracker.</span>"
return SURGERY_FAILURE
+8
View File
@@ -0,0 +1,8 @@
author: Alberyk
delete-after: True
changes:
- bugfix: "You should now be able to interact with airlock's buttons and controllers while inside a mecha."
- rscdel: "Removed the binary channels from posibrains."
- rscadd: "Added a plasma cutter as an emmaged module to the contruction module."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 178 KiB