From 1a48a2b6b0222fcfee10fc5ed7eb865e6711d6b2 Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Sun, 29 Sep 2013 12:05:10 -0700 Subject: [PATCH] Auto-transfer voting! --- code/controllers/voting.dm | 6 +++++- code/game/gamemodes/gameticker.dm | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm index fdc10124eb..5bef6ca771 100644 --- a/code/controllers/voting.dm +++ b/code/controllers/voting.dm @@ -46,6 +46,10 @@ datum/controller/vote voting.Cut() + proc/autotransfer() + initiate_vote("crew_transfer","the server") + + proc/reset() initiator = null time_remaining = 0 @@ -202,7 +206,7 @@ datum/controller/vote return 0 choices.Add(config.votable_modes) if("crew_transfer") - if(check_rights(R_ADMIN) || check_rights(R_MOD)) + if check_rights(R_ADMIN) || check_rights(R_MOD) question = "End the shift?" choices.Add("Initiate Crew Transfer", "Continue The Round") else diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 78a8fe6938..e694511a42 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -36,6 +36,8 @@ var/global/datum/controller/gameticker/ticker var/triai = 0//Global holder for Triumvirate + var/initialtpass = 0 //holder for inital autotransfer vote timer + /datum/controller/gameticker/proc/pregame() login_music = pick(\ 'sound/music/space.ogg',\ @@ -56,6 +58,18 @@ var/global/datum/controller/gameticker/ticker current_state = GAME_STATE_SETTING_UP while (!setup()) +/datum/controller/gameticker/proc/votetimer() + var/timerbuffer = 0 + if (initialtpass == 0) + timerbuffer = config.vote_autotransfer_initial + else + timerbuffer = config.vote_autotransfer_interval + sleep(timerbuffer) + vote.autotransfer() + initialtpass = 1 + votetimer() + + /datum/controller/gameticker/proc/setup() //Create and announce mode if(master_mode=="secret") @@ -119,6 +133,7 @@ var/global/datum/controller/gameticker/ticker data_core.manifest() current_state = GAME_STATE_PLAYING + //here to initialize the random events nicely at round start setup_economy() @@ -153,6 +168,7 @@ var/global/datum/controller/gameticker/ticker spawn(3000) statistic_cycle() // Polls population totals regularly and stores them in an SQL DB -- TLE + votetimer() return 1 /datum/controller/gameticker