From 80824ecac36e40da70dd8f3584df948eb1ed786f Mon Sep 17 00:00:00 2001 From: Kelenius Date: Thu, 17 Jul 2014 23:59:58 +0400 Subject: [PATCH] Changes light to Giacom's suggestion --- code/game/machinery/camera/camera.dm | 12 ++++----- code/modules/mob/living/silicon/ai/ai.dm | 33 ++++++++++++++++++++---- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 10fb6cd77df..86f8807c590 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -341,12 +341,10 @@ busy = 0 return 0 -/obj/machinery/camera/proc/toggle_light() - light_on = !light_on - - if (light_on) +/obj/machinery/camera/proc/check_AI_light(var/mob/living/silicon/ai/AI) + if ((src in range(6, AI.eyeobj)) && AI.camera_light_on && !light_disabled) SetLuminosity(AI_CAMERA_LUMINOSITY) + spawn (5) + check_AI_light(AI) else - SetLuminosity(0) - - return light_on \ No newline at end of file + SetLuminosity(0) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 2dca089de6f..e16f7feabbb 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -45,6 +45,7 @@ var/list/ai_list = list() var/explosive = 0 //does the AI explode when it dies? var/mob/living/silicon/ai/parent = null + var/camera_light_on = 0 var/datum/trackable/track = null @@ -631,8 +632,30 @@ var/list/ai_list = list() /mob/living/silicon/ai/proc/toggle_camera_light() if(stat != CONSCIOUS) return - var/obj/machinery/camera/camera = near_range_camera(src.eyeobj) - if (camera) - var/t = camera.toggle_light() - src << "Camera lights [t ? "activated" : "deactivated"]." - return \ No newline at end of file + + camera_light_on = !camera_light_on + + if (!camera_light_on) + src << "Camera lights deactivated." + return + + light_cameras() + + src << "Camera lights activated." + return + +/mob/living/silicon/ai/proc/light_cameras() + if (!camera_light_on) + return + + for(var/obj/machinery/camera/C in range(7, src.eyeobj)) + if (!C.can_use()) + continue + if (C.luminosity > 0) + continue + if (C.light_disabled) + continue + C.check_AI_light(src) + + spawn (5) + light_cameras() \ No newline at end of file