diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 61f93dcc1b..7d7fbf9b6d 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -25,6 +25,7 @@ SUBSYSTEM_DEF(shuttle) var/area/emergencyLastCallLoc var/emergencyCallAmount = 0 //how many times the escape shuttle was called var/emergencyNoEscape + var/emergencyNoRecall = FALSE var/list/hostileEnvironments = list() //supply shuttle stuff diff --git a/code/game/gamemodes/gang/gang.dm.rej b/code/game/gamemodes/gang/gang.dm.rej new file mode 100644 index 0000000000..d9220abdbc --- /dev/null +++ b/code/game/gamemodes/gang/gang.dm.rej @@ -0,0 +1,16 @@ +diff a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm (rejected hunks) +@@ -255,11 +255,13 @@ GLOBAL_LIST_INIT(gang_colors_pool, list("red","orange","yellow","green","blue"," + return gang_bosses + + /datum/game_mode/proc/shuttle_check() ++ if(SSshuttle.emergencyNoRecall) ++ return + var/alive = 0 + for(var/mob/living/L in GLOB.player_list) + if(L.stat != DEAD) + alive++ +- if((alive < (GLOB.joined_player_list.len * 0.4)) && (SSshuttle.emergency.timeLeft(1) < (SSshuttle.emergencyCallTime * 0.4))) ++ if((alive < (GLOB.joined_player_list.len * 0.4)) && ((SSshuttle.emergency.timeLeft(1) > (SSshuttle.emergencyCallTime * 0.4)))) + SSshuttle.emergencyNoRecall = TRUE + SSshuttle.emergency.request(null, set_coefficient = 0.4) + priority_announce("Catastrophic casualties detected: crisis shuttle protocols activated - jamming recall signals across all frequencies.") diff --git a/code/game/gamemodes/gang/gang_datum.dm b/code/game/gamemodes/gang/gang_datum.dm index 0ff9ef4f2d..95cbb5d269 100644 --- a/code/game/gamemodes/gang/gang_datum.dm +++ b/code/game/gamemodes/gang/gang_datum.dm @@ -204,7 +204,9 @@ return var/added_names = "" var/lost_names = "" - + + SSticker.mode.shuttle_check() // See if its time to start wrapping things up + //Re-add territories that were reclaimed, so if they got tagged over, they can still earn income if they tag it back before the next status report var/list/reclaimed_territories = territory_new & territory_lost territory |= reclaimed_territories diff --git a/code/game/gamemodes/gang/recaller.dm.rej b/code/game/gamemodes/gang/recaller.dm.rej new file mode 100644 index 0000000000..1c7b030c48 --- /dev/null +++ b/code/game/gamemodes/gang/recaller.dm.rej @@ -0,0 +1,10 @@ +diff a/code/game/gamemodes/gang/recaller.dm b/code/game/gamemodes/gang/recaller.dm (rejected hunks) +@@ -165,7 +165,7 @@ + if(!can_use(user)) + return 0 + +- if(SSticker.mode.forced_shuttle) ++ if(SSshuttle.emergencyNoRecall) + return 0 + + if(recalling) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 6344689f0b..d479ddf1bc 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -235,7 +235,9 @@ /obj/docking_port/mobile/emergency/cancel(area/signalOrigin) if(mode != SHUTTLE_CALL) return - + if(SSshuttle.emergencyNoRecall) + return + invertTimer() mode = SHUTTLE_RECALL