mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 03:57:48 +01:00
@@ -17,7 +17,7 @@ var/datum/controller/transfer_controller/transfer_controller
|
||||
/datum/controller/transfer_controller/process()
|
||||
currenttick = currenttick + 1
|
||||
//VOREStation Edit START
|
||||
if (round_duration_in_ds >= shift_last_vote - 2 MINUTES)
|
||||
if (round_duration_in_ds >= shift_last_vote - 2 MINUTES)
|
||||
shift_last_vote = 99999999 //Setting to a stupidly high number since it'll be not used again.
|
||||
to_world("<b>Warning: You have one hour left in the shift. Wrap up your scenes in the next 60 minutes before the transfer is called.</b>") //VOREStation Edit
|
||||
if (round_duration_in_ds >= shift_hard_end - 1 MINUTE)
|
||||
@@ -25,6 +25,6 @@ var/datum/controller/transfer_controller/transfer_controller
|
||||
shift_hard_end = timerbuffer + config.vote_autotransfer_interval //If shuttle somehow gets recalled, let's force it to call again next time a vote would occur.
|
||||
timerbuffer = timerbuffer + config.vote_autotransfer_interval //Just to make sure a vote doesn't occur immediately afterwords.
|
||||
else if (round_duration_in_ds >= timerbuffer - 1 MINUTE)
|
||||
SSvote.autotransfer()
|
||||
new /datum/vote/crew_transfer
|
||||
//VOREStation Edit END
|
||||
timerbuffer = timerbuffer + config.vote_autotransfer_interval
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
SUBSYSTEM_DEF(vote)
|
||||
name = "Vote"
|
||||
wait = 10
|
||||
priority = FIRE_PRIORITY_VOTE
|
||||
runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT
|
||||
flags = SS_KEEP_TIMING | SS_NO_INIT
|
||||
|
||||
var/datum/vote/active_vote
|
||||
|
||||
/datum/controller/subsystem/vote/fire()
|
||||
if(active_vote)
|
||||
active_vote.tick()
|
||||
|
||||
/datum/controller/subsystem/vote/proc/start_vote(datum/vote/V)
|
||||
active_vote = V
|
||||
active_vote.start()
|
||||
@@ -85,7 +85,7 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
|
||||
if(start_immediately)
|
||||
pregame_timeleft = 0
|
||||
else if(SSvote.time_remaining)
|
||||
else if(SSvote.active_vote)
|
||||
return // vote still going, wait for it.
|
||||
|
||||
// Time to start the game!
|
||||
@@ -96,15 +96,15 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
fire() // Don't wait for next tick, do it now!
|
||||
return
|
||||
|
||||
if(pregame_timeleft <= config.vote_autogamemode_timeleft && !SSvote.gamemode_vote_called)
|
||||
SSvote.autogamemode() // Start the game mode vote (if we haven't had one already)
|
||||
//if(pregame_timeleft <= config.vote_autogamemode_timeleft && !SSvote.gamemode_vote_called)
|
||||
//.autogamemode() // Start the game mode vote (if we haven't had one already)
|
||||
|
||||
// Called during GAME_STATE_SETTING_UP (RUNLEVEL_SETUP)
|
||||
/datum/controller/subsystem/ticker/proc/setup_tick(resumed = FALSE)
|
||||
if(!setup_choose_gamemode())
|
||||
// It failed, go back to lobby state and re-send the welcome message
|
||||
pregame_timeleft = config.pregame_time
|
||||
SSvote.gamemode_vote_called = FALSE // Allow another autogamemode vote
|
||||
// SSvote.gamemode_vote_called = FALSE // Allow another autogamemode vote
|
||||
current_state = GAME_STATE_PREGAME
|
||||
Master.SetRunLevel(RUNLEVEL_LOBBY)
|
||||
pregame_welcome()
|
||||
@@ -226,7 +226,7 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
mode.cleanup()
|
||||
//call a transfer shuttle vote
|
||||
to_world("<span class='danger'>The round has ended!</span>")
|
||||
SSvote.autotransfer()
|
||||
new /datum/vote/crew_transfer
|
||||
|
||||
// Called during GAME_STATE_FINISHED (RUNLEVEL_POSTGAME)
|
||||
/datum/controller/subsystem/ticker/proc/post_game_tick()
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/*
|
||||
SUBSYSTEM_DEF(vote)
|
||||
name = "Vote"
|
||||
wait = 10
|
||||
@@ -396,3 +397,4 @@ SUBSYSTEM_DEF(vote)
|
||||
|
||||
if(SSvote)
|
||||
src << browse(SSvote.interface(src), "window=vote;size=500x[300 + SSvote.choices.len * 25]")
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user