From 1d04a9ec74b198250b79ae3c4a4d0e0bc500aca5 Mon Sep 17 00:00:00 2001 From: Kepplerx <65926304+Kepplerx@users.noreply.github.com> Date: Fri, 9 Jul 2021 00:18:15 +0200 Subject: [PATCH] AI Detector can now only detect AI, not Abductors, Xenobio consoles or Shuttles (#15535) * Update navigation_computer.dm * V7 * Update navigation_computer.dm * All instances * Added explainers Seems this is done some places, seems nice and easier to understand with em * Updated name * Change Variable name Changed as per advise of Fox --- code/datums/holocall.dm | 1 + code/game/machinery/computer/camera_advanced.dm | 2 ++ code/game/objects/items/tools/multitool.dm | 3 +++ code/modules/mob/living/silicon/ai/freelook/eye.dm | 2 ++ code/modules/research/xenobiology/xenobio_camera.dm | 2 ++ code/modules/shuttle/navigation_computer.dm | 2 ++ 6 files changed, 12 insertions(+) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 369c01cce42..04220cc7ce2 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -4,6 +4,7 @@ . = ..() var/obj/machinery/hologram/holopad/H = origin H.move_hologram(eye_user, loc) + ai_detector_visible = FALSE // Holocalls dont trigger the Ai Detector //this datum manages it's own references diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 7a1dbdf91d9..55be5527a0d 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -101,6 +101,8 @@ /mob/camera/aiEye/remote name = "Inactive Camera Eye" + // Abductors dont trigger the Ai Detector + ai_detector_visible = FALSE var/sprint = 10 var/cooldown = 0 var/acceleration = 1 diff --git a/code/game/objects/items/tools/multitool.dm b/code/game/objects/items/tools/multitool.dm index 61f512eff2e..a488216955c 100644 --- a/code/game/objects/items/tools/multitool.dm +++ b/code/game/objects/items/tools/multitool.dm @@ -83,6 +83,9 @@ if(chunk) if(chunk.seenby.len) for(var/mob/camera/aiEye/A in chunk.seenby) + //Checks if the A is to be detected or not + if(!A.ai_detector_visible) + continue var/turf/detect_turf = get_turf(A) if(get_dist(our_turf, detect_turf) < rangealert) detect_state = PROXIMITY_ON_SCREEN diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 16f17e90432..2a233bd96d6 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -16,6 +16,8 @@ var/relay_speech = FALSE var/use_static = TRUE var/static_visibility_range = 16 + // Decides if it is shown by AI Detector or not + var/ai_detector_visible = TRUE // Use this when setting the aiEye's location. diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 0c2079ef160..8ed36875c63 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -4,6 +4,8 @@ icon = 'icons/obj/abductor.dmi' icon_state = "camera_target" var/allowed_area = null + // The Xenobio Console does not trigger the AI Detector + ai_detector_visible = FALSE /mob/camera/aiEye/remote/xenobio/New(loc) var/area/A = get_area(loc) diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index 4fabc5f48cf..968d9f6a89d 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -264,6 +264,8 @@ visible_icon = FALSE use_static = FALSE simulated = FALSE + // The Shuttle Docker does not trigger the AI Detector + ai_detector_visible = FALSE var/list/placement_images = list() var/list/placed_images = list()