From f3ef0d8c02ec3f42583047828475437697115b11 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 6 May 2017 15:07:36 -0700 Subject: [PATCH] Fixes carded AIs generating checkTurfVis warnings (#7207) * Fixes carded AIs generating checkTurfVis warnings Fixes bug where carded AIs that click on turfs not visible to any camera generate warnings to admins. No CL as admin-only. * Handles carded AIs better * Fox request --- code/_onclick/ai.dm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index f3ae2fdea48..e969751e1dd 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -33,13 +33,20 @@ if(control_disabled || stat) return - + var/turf/pixel_turf = get_turf_pixel(A) - if(pixel_turf && !cameranet.checkTurfVis(pixel_turf)) - log_admin("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(A)])") - message_admins("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([ADMIN_COORDJMP(A)]))") - send2irc_adminless_only("NOCHEAT", "[key_name(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(A)]))") - return + var/turf_visible + if(pixel_turf) + turf_visible = cameranet.checkTurfVis(pixel_turf) + if(!turf_visible) + if(istype(loc, /obj/item/device/aicard) && (pixel_turf in view(client.view, loc))) + turf_visible = TRUE + else + if(pixel_turf.obscured) + log_admin("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)])") + message_admins("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([ADMIN_COORDJMP(pixel_turf)]))") + send2irc_adminless_only("NOCHEAT", "[key_name(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)]))") + return var/list/modifiers = params2list(params) if(modifiers["shift"] && modifiers["ctrl"])