From a7d2fac0e9abbe5820e9b26b2c271ed512e9eefd Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 5 Dec 2019 01:55:21 +0100 Subject: [PATCH] "Why does it tell me it's "out of range", but not to you, X-ray man?" --- code/game/objects/items/RCD.dm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index cd7735c92a..1c83d64ee8 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -130,11 +130,16 @@ RLD return . /obj/item/construction/proc/range_check(atom/A, mob/user) - if(!(A in range(custom_range, get_turf(user))) || !((A in view(user.client.view, user)) || (user in viewers(user.client.view, A)))) + if(!(A in range(custom_range, get_turf(user)))) to_chat(user, "The \'Out of Range\' light on [src] blinks red.") return FALSE - else - return TRUE + var/view_range = user.client ? user.client.view : world.view + //if user can't be seen from A (only checks surroundings' opaqueness) and can't see A. + //jarring, but it should stop people from targetting atoms they can't see... + //excluding darkness, to allow RLD to be used to light pitch black dark areas. + if(!((user in view(view_range, A)) || (user in viewers(view_range, A)))) + return FALSE + return TRUE /obj/item/construction/rcd name = "rapid-construction-device (RCD)"