Round no longer ends suddenly

Instead, a crew transfer vote is called. Also adds cleanup proc to
game_mode.
This commit is contained in:
mwerezak
2014-06-01 14:50:57 -04:00
parent 2a9e05dd18
commit dbe43db59a
2 changed files with 18 additions and 3 deletions

View File

@@ -129,6 +129,8 @@ Implants;
return 1
return 0
/datum/game_mode/proc/cleanup() //the end conditions specified by check_finished() have been met, let's clean up.
return
/datum/game_mode/proc/declare_completion()
var/clients = 0

View File

@@ -12,6 +12,7 @@ var/global/datum/controller/gameticker/ticker
var/hide_mode = 0
var/datum/game_mode/mode = null
var/post_game = 0
var/event_time = null
var/event = 0
@@ -309,8 +310,10 @@ var/global/datum/controller/gameticker/ticker
emergency_shuttle.process()
var/mode_finished = mode.check_finished() || (emergency_shuttle.location == 2 && emergency_shuttle.alert == 1)
if(!mode.explosion_in_progress && mode_finished)
var/mode_finished = (!post_game && mode.check_finished())
var/game_finished = (emergency_shuttle.location == 2 || mode.station_was_nuked)
if(!mode.explosion_in_progress && game_finished && (mode_finished || post_game))
current_state = GAME_STATE_FINISHED
spawn
@@ -340,7 +343,17 @@ var/global/datum/controller/gameticker/ticker
world << "\blue <B>An admin has delayed the round end</B>"
else
world << "\blue <B>An admin has delayed the round end</B>"
else if (mode_finished)
post_game = 1
mode.cleanup()
//call a transfer shuttle vote
spawn(50)
world << "\red The round has ended!"
vote.autotransfer()
return 1
proc/getfactionbyname(var/name)