diff --git a/code/_onclick/ai_onclick.dm b/code/_onclick/ai_onclick.dm index a9d63f51c6bb9..1068ed1b02dc8 100644 --- a/code/_onclick/ai_onclick.dm +++ b/code/_onclick/ai_onclick.dm @@ -15,7 +15,10 @@ // But we return here since we don't want to do regular dblclick handling return - if(control_disabled || stat) return + if(control_disabled || stat) + return + if(ismecha(loc)) + return if(ismob(A)) ai_actual_track(A, TRUE) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 118340d2df83a..4bb550e59afae 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -316,6 +316,8 @@ GLOBAL_LIST_EMPTY(holopads) return if(istype(robot)) interact(robot) + if(ismecha(ai.loc)) // AIs must exit mechs before activating holopads. + return /*There are pretty much only three ways to interact here. I don't need to check for client since they're clicking on an object. This may change in the future but for now will suffice.*/ diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index df4cad6e0014d..b89c9d04f47e6 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -1031,6 +1031,10 @@ //Hack and From Card interactions share some code, so leave that here for both to use. /obj/mecha/proc/ai_enter_mech(mob/living/silicon/ai/AI, interaction) + var/mob/camera/eye/hologram/hologram_eye = AI.remote_control + if(istype(hologram_eye)) + hologram_eye.release_control() + qdel(hologram_eye) AI.aiRestorePowerRoutine = 0 AI.forceMove(src) occupant = AI @@ -1315,6 +1319,7 @@ RemoveActions(occupant, 1) mob_container = AI newloc = get_turf(AI.linked_core) + AI.eyeobj?.set_loc(newloc) qdel(AI.linked_core) else return diff --git a/code/modules/mob/camera/eye/hologram_eye.dm b/code/modules/mob/camera/eye/hologram_eye.dm index a30c63827a9dd..9eb9d1f435245 100644 --- a/code/modules/mob/camera/eye/hologram_eye.dm +++ b/code/modules/mob/camera/eye/hologram_eye.dm @@ -2,7 +2,6 @@ name = "Inactive Hologram Eye" ai_detector_visible = FALSE acceleration = FALSE - relay_speech = TRUE var/obj/machinery/hologram/holopad/holopad /mob/camera/eye/hologram/Initialize(mapload, owner_name, camera_origin, mob/living/user)