mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-22 08:01:06 +00:00
Remote Mech Revision (#8903)
The AI can now remotely control mechs in its network. It has one mapped in near its core.
Messages received by your old body will now reach your VR body (does not affect Skrell Srom).
Exosuit pilots can now interact with elevator panels without having to get out.
Robotics and RnD can now create remote controlled mechs. The control centre is in the protolathe, while the exosuit upgrade is in the circuit imprinter.
Mechs can no longer be dismantled if it has a pilot in it.
Dismantling a mech now takes a while.
This commit is contained in:
@@ -62,6 +62,16 @@
|
||||
/atom/proc/contents_nano_distance(var/src_object, var/mob/living/user)
|
||||
return user.shared_living_nano_distance(src_object)
|
||||
|
||||
/mob/living/heavy_vehicle/contents_nano_distance(src_object, mob/living/user)
|
||||
if(src_object in contents)
|
||||
return STATUS_INTERACTIVE
|
||||
if(hatch_closed && body.pilot_coverage == 100 && !istype(user, /mob/living/simple_animal/spiderbot)) // spiderbots get a pass cuz they need a bone, call it RFID bullshit
|
||||
to_chat(user, SPAN_WARNING("You can't interact with things outside \the [src] if its hatch is closed!"))
|
||||
return STATUS_CLOSE
|
||||
if(!src.Adjacent(src_object))
|
||||
return STATUS_CLOSE
|
||||
return STATUS_INTERACTIVE
|
||||
|
||||
/mob/living/proc/shared_living_nano_distance(var/atom/movable/src_object)
|
||||
if (!(src_object in view(4, src))) // If the src object is not in visable, disable updates
|
||||
return STATUS_CLOSE
|
||||
@@ -79,7 +89,10 @@
|
||||
. = shared_nano_interaction(src_object)
|
||||
if(. != STATUS_CLOSE)
|
||||
if(loc)
|
||||
. = min(., loc.contents_nano_distance(src_object, src))
|
||||
if(istype(loc, /mob/living/heavy_vehicle))
|
||||
return loc.contents_nano_distance(src_object, src)
|
||||
else
|
||||
. = min(., loc.contents_nano_distance(src_object, src))
|
||||
if(. == STATUS_INTERACTIVE)
|
||||
return STATUS_UPDATE
|
||||
|
||||
@@ -87,6 +100,9 @@
|
||||
. = shared_nano_interaction(src_object)
|
||||
if(. != STATUS_CLOSE)
|
||||
if(loc)
|
||||
. = min(., loc.contents_nano_distance(src_object, src))
|
||||
if(istype(loc, /mob/living/heavy_vehicle))
|
||||
. = loc.contents_nano_distance(src_object, src)
|
||||
else
|
||||
. = min(., loc.contents_nano_distance(src_object, src))
|
||||
else
|
||||
. = min(., shared_living_nano_distance(src_object))
|
||||
. = min(., shared_living_nano_distance(src_object))
|
||||
Reference in New Issue
Block a user