From 4ef21cc841cfe3195ec564847dc9309f064ddb14 Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Tue, 17 Oct 2017 00:14:59 +0300 Subject: [PATCH 1/2] Makes player-controlled minebots a target for ocular wardens (#31757) * Makes player-controlled minebots a target for ocular wardens * popularity reorder --- .../clock_cult/clock_structures/ocular_warden.dm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm b/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm index 79e5be6d44..c7aea3df7e 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm @@ -116,9 +116,9 @@ continue if(ishostile(L)) var/mob/living/simple_animal/hostile/H = L - if(ismegafauna(H) || (!H.mind && H.AIStatus == AI_OFF)) + if(("ratvar" in H.faction) || (!H.mind && "neutral" in H.faction)) continue - if(("ratvar" in H.faction) || ("neutral" in H.faction)) + if(ismegafauna(H) || (!H.mind && H.AIStatus == AI_OFF)) continue else if(isrevenant(L)) var/mob/living/simple_animal/revenant/R = L @@ -127,10 +127,15 @@ else if(!L.mind) continue . += L + var/list/viewcache = list() for(var/N in GLOB.mechas_list) var/obj/mecha/M = N - if(get_dist(M, src) <= sight_range && M.occupant && !is_servant_of_ratvar(M.occupant) && (M in view(sight_range, src))) - . += M + if(get_dist(M, src) <= sight_range && M.occupant && !is_servant_of_ratvar(M.occupant)) + if(!length(viewcache)) + for (var/obj/Z in view(sight_range, src)) + viewcache += Z + if (M in viewcache) + . += M /obj/structure/destructible/clockwork/ocular_warden/proc/lose_target() if(!target)