mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 22:42:26 +01:00
General synthetic and mecha fixes (#3936)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user