From 02b63e199b93ce33a1f392ac3117386094d69f3b Mon Sep 17 00:00:00 2001 From: MoreRobustThanYou Date: Sun, 7 Jan 2018 21:51:52 -0500 Subject: [PATCH 1/2] Adds spaceturf check to blob overmind spawning --- code/game/gamemodes/blob/overmind.dm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index cc96a69f34..5561b5c913 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -58,12 +58,27 @@ GLOBAL_LIST_EMPTY(blob_nodes) /mob/camera/blob/proc/validate_location() var/turf/T = get_turf(src) +<<<<<<< HEAD var/area/A = get_area(T) if(((A && !A.blob_allowed) || !T || !(T.z in GLOB.station_z_levels)) && LAZYLEN(GLOB.blobstart)) T = get_turf(pick(GLOB.blobstart)) +======= + if(!is_valid_turf(T) && LAZYLEN(GLOB.blobstart)) + var/list/blobstarts = shuffle(GLOB.blobstart) + for(var/_T in blobstarts) + if(is_valid_turf(_T)) + T = _T + break +>>>>>>> ca1da30... Adds spaceturf check to blob overmind spawning (#34100) if(!T) CRASH("No blobspawnpoints and blob spawned in nullspace.") forceMove(T) + +/mob/camera/blob/proc/is_valid_turf(turf/T) + var/area/A = get_area(T) + if((A && !A.blob_allowed) || !T || !is_station_level(T.z) || isspaceturf(T)) + return FALSE + return TRUE /mob/camera/blob/Life() if(!blob_core) @@ -246,4 +261,4 @@ GLOBAL_LIST_EMPTY(blob_nodes) . = ..() var/datum/antagonist/blob/B = mind.has_antag_datum(/datum/antagonist/blob) if(!B) - mind.add_antag_datum(/datum/antagonist/blob) \ No newline at end of file + mind.add_antag_datum(/datum/antagonist/blob) From 9decb2e2b28740922dbe834a13fd4a55c9c65f50 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Sun, 7 Jan 2018 23:18:28 -0500 Subject: [PATCH 2/2] Update overmind.dm --- code/game/gamemodes/blob/overmind.dm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index 5561b5c913..4a87a89adf 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -58,18 +58,12 @@ GLOBAL_LIST_EMPTY(blob_nodes) /mob/camera/blob/proc/validate_location() var/turf/T = get_turf(src) -<<<<<<< HEAD - var/area/A = get_area(T) - if(((A && !A.blob_allowed) || !T || !(T.z in GLOB.station_z_levels)) && LAZYLEN(GLOB.blobstart)) - T = get_turf(pick(GLOB.blobstart)) -======= if(!is_valid_turf(T) && LAZYLEN(GLOB.blobstart)) var/list/blobstarts = shuffle(GLOB.blobstart) for(var/_T in blobstarts) if(is_valid_turf(_T)) T = _T break ->>>>>>> ca1da30... Adds spaceturf check to blob overmind spawning (#34100) if(!T) CRASH("No blobspawnpoints and blob spawned in nullspace.") forceMove(T)