From 7fa2232fc75d0fc9189d720b3250d7427cc5eeed Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 5 Dec 2019 01:28:44 +0100 Subject: [PATCH] Adds view and viewers checks for ranged construction devices such as ARCD and RLD. --- code/game/objects/items/RCD.dm | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 016bfb5e8b..cd7735c92a 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -130,19 +130,12 @@ RLD return . /obj/item/construction/proc/range_check(atom/A, mob/user) - if(!(A in range(custom_range, get_turf(user)))) + if(!(A in range(custom_range, get_turf(user))) || !((A in view(user.client.view, user)) || (user in viewers(user.client.view, A)))) to_chat(user, "The \'Out of Range\' light on [src] blinks red.") return FALSE else return TRUE -/obj/item/construction/proc/prox_check(proximity) - if(proximity) - return TRUE - else - return FALSE - - /obj/item/construction/rcd name = "rapid-construction-device (RCD)" icon = 'icons/obj/tools.dmi' @@ -523,7 +516,12 @@ RLD /obj/item/construction/rcd/afterattack(atom/A, mob/user, proximity) . = ..() - if(!prox_check(proximity)) + if(!proximity) + if(!ranged || !range_check(A,user)) //early return not-in-range sanity. + return + if(target_check(A,user)) + user.Beam(A,icon_state="rped_upgrade",time=30) + rcd_create(A,user) return rcd_create(A, user) @@ -635,6 +633,7 @@ RLD max_matter = INFINITY matter = INFINITY upgrade = TRUE + ranged = TRUE // Ranged RCD @@ -650,20 +649,10 @@ RLD item_state = "oldrcd" has_ammobar = FALSE -/obj/item/construction/rcd/arcd/afterattack(atom/A, mob/user) - . = ..() - if(!range_check(A,user)) - return - if(target_check(A,user)) - user.Beam(A,icon_state="rped_upgrade",time=30) - rcd_create(A,user) - - // RAPID LIGHTING DEVICE - /obj/item/construction/rld name = "rapid-light-device (RLD)" desc = "A device used to rapidly provide lighting sources to an area. Reload with metal, plasteel, glass or compressed matter cartridges."