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"