Fixes Gang War's infinity shuttle
This commit is contained in:
@@ -25,6 +25,7 @@ SUBSYSTEM_DEF(shuttle)
|
|||||||
var/area/emergencyLastCallLoc
|
var/area/emergencyLastCallLoc
|
||||||
var/emergencyCallAmount = 0 //how many times the escape shuttle was called
|
var/emergencyCallAmount = 0 //how many times the escape shuttle was called
|
||||||
var/emergencyNoEscape
|
var/emergencyNoEscape
|
||||||
|
var/emergencyNoRecall = FALSE
|
||||||
var/list/hostileEnvironments = list()
|
var/list/hostileEnvironments = list()
|
||||||
|
|
||||||
//supply shuttle stuff
|
//supply shuttle stuff
|
||||||
|
|||||||
@@ -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.")
|
||||||
@@ -204,7 +204,9 @@
|
|||||||
return
|
return
|
||||||
var/added_names = ""
|
var/added_names = ""
|
||||||
var/lost_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
|
//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
|
var/list/reclaimed_territories = territory_new & territory_lost
|
||||||
territory |= reclaimed_territories
|
territory |= reclaimed_territories
|
||||||
|
|||||||
@@ -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)
|
||||||
@@ -235,7 +235,9 @@
|
|||||||
/obj/docking_port/mobile/emergency/cancel(area/signalOrigin)
|
/obj/docking_port/mobile/emergency/cancel(area/signalOrigin)
|
||||||
if(mode != SHUTTLE_CALL)
|
if(mode != SHUTTLE_CALL)
|
||||||
return
|
return
|
||||||
|
if(SSshuttle.emergencyNoRecall)
|
||||||
|
return
|
||||||
|
|
||||||
invertTimer()
|
invertTimer()
|
||||||
mode = SHUTTLE_RECALL
|
mode = SHUTTLE_RECALL
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user