From 6abef4bbb9064f0ceba0b8018a6dc1e75e1821a5 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Wed, 9 Sep 2020 08:32:10 +0200 Subject: [PATCH] [MIRROR] No more blobs after shuttle passes point of no return (#722) * No more blobs after shuttle passes point of no return (#53488) * DIE BLOB DIE * define for PONR * Update code/__DEFINES/shuttles.dm Co-authored-by: Rohesie Co-authored-by: Rohesie * No more blobs after shuttle passes point of no return Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com> Co-authored-by: Rohesie --- code/__DEFINES/shuttles.dm | 1 + code/modules/events/blob.dm | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm index 76be2fecaa2..8e743d44521 100644 --- a/code/__DEFINES/shuttles.dm +++ b/code/__DEFINES/shuttles.dm @@ -13,6 +13,7 @@ #define EMERGENCY_IDLE_OR_RECALLED (SSshuttle.emergency && ((SSshuttle.emergency.mode == SHUTTLE_IDLE) || (SSshuttle.emergency.mode == SHUTTLE_RECALL))) #define EMERGENCY_ESCAPED_OR_ENDGAMED (SSshuttle.emergency && ((SSshuttle.emergency.mode == SHUTTLE_ESCAPE) || (SSshuttle.emergency.mode == SHUTTLE_ENDGAME))) #define EMERGENCY_AT_LEAST_DOCKED (SSshuttle.emergency && SSshuttle.emergency.mode != SHUTTLE_IDLE && SSshuttle.emergency.mode != SHUTTLE_RECALL && SSshuttle.emergency.mode != SHUTTLE_CALL) +#define EMERGENCY_PAST_POINT_OF_NO_RETURN ((SSshuttle.emergency && SSshuttle.emergency.mode == SHUTTLE_CALL && !SSshuttle.canRecall()) || EMERGENCY_AT_LEAST_DOCKED) // Shuttle return values #define SHUTTLE_CAN_DOCK "can_dock" diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm index 0da92c041ef..7d12e871239 100644 --- a/code/modules/events/blob.dm +++ b/code/modules/events/blob.dm @@ -8,6 +8,12 @@ gamemode_blacklist = list("blob") //Just in case a blob survives that long +/datum/round_event_control/blob/canSpawnEvent(players, gamemode) + if(EMERGENCY_PAST_POINT_OF_NO_RETURN) // no blobs if the shuttle is past the point of no return + return FALSE + + return ..() + /datum/round_event/ghost_role/blob announceChance = 0 role_name = "blob overmind"