Fixes Gang War's infinity shuttle

This commit is contained in:
CitadelStationBot
2017-05-26 11:27:38 -05:00
parent 7ad5837432
commit 2fadc0e58b
5 changed files with 33 additions and 2 deletions

View File

@@ -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

View File

@@ -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.")

View File

@@ -205,6 +205,8 @@
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

View File

@@ -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)

View File

@@ -235,6 +235,8 @@
/obj/docking_port/mobile/emergency/cancel(area/signalOrigin)
if(mode != SHUTTLE_CALL)
return
if(SSshuttle.emergencyNoRecall)
return
invertTimer()
mode = SHUTTLE_RECALL