From 6fefccb6801e73c5298e482218230e4b2db22cb7 Mon Sep 17 00:00:00 2001 From: Archie Date: Fri, 29 Oct 2021 01:30:02 -0300 Subject: [PATCH] Fixes it for real --- code/modules/holiday/halloween/jacqueen.dm | 48 ++++++++-------------- 1 file changed, 16 insertions(+), 32 deletions(-) diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index 886d7c771..f25a090f4 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -114,38 +114,22 @@ canmove = TRUE health = 25 - var/hp_list = list() - for(var/obj/machinery/holopad/hp in world) - hp_list += hp - - var/nono_areas = list("AI ") - - for(var/i = 0, i <= 6, i+=1) //Attempts a jump 6 times. - var/obj/machinery/holopad/hp = pick(hp_list) - if(forceMove(pick(hp.loc))) - - var/jacq_please_no = FALSE - for(var/no_area in nono_areas) - var/turf/L1 = hp.loc - if(!L1) //Incase the area isn't a turf (i.e. in a locker) - continue - var/area/L2 = L1.loc - if(L2) - if(findtext(L2.name, no_area)) - jacq_please_no = TRUE - - if(jacq_please_no) - i-=1 - continue - - //Try to go to populated areas - var/list/seen = viewers(8, get_turf(src)) - for(var/victim in seen) - if(ishuman(victim)) - if(z == cached_z) - return TRUE - - + var/list/area/areasallowed = list() + for(var/area/hallway/primary/A in world) + areasallowed += A + + var/area/picked = pick(areasallowed) + if(picked) + var/turf/pickedturf + var/list/turf/t = get_area_turfs(picked, SSmapping.station_start) + for(var/turf/thisTurf in t) // now we check if it's a closed turf, cold turf or occupied turf and yeet it + if(isopenturf(thisTurf)) + var/turf/open/tempGet = thisTurf + if(tempGet.air.temperature >= T0C && tempGet.air.temperature <= 500) + pickedturf = thisTurf + break + if(pickedturf && forceMove(pickedturf)) + return TRUE return FALSE /mob/living/simple_animal/jacq/proc/gender_check(mob/living/carbon/C)