mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Autotransfer subsystem uses REALTIMEOFDAY (#22397)
* autotransfer changes * Update autotransfer.dm * Update autotransfer.dm
This commit is contained in:
@@ -282,7 +282,8 @@ SUBSYSTEM_DEF(ticker)
|
||||
|
||||
round_start_time = world.time //otherwise round_start_time would be 0 for the signals
|
||||
SEND_SIGNAL(src, COMSIG_TICKER_ROUND_STARTING, world.time)
|
||||
real_round_start_time = world.timeofday //SKYRAT EDIT ADDITION
|
||||
real_round_start_time = REALTIMEOFDAY //SKYRAT EDIT ADDITION
|
||||
SSautotransfer.new_shift(real_round_start_time) //SKYRAT EDIT ADDITION
|
||||
|
||||
log_world("Game start took [(world.timeofday - init_start)/10]s")
|
||||
INVOKE_ASYNC(SSdbcore, TYPE_PROC_REF(/datum/controller/subsystem/dbcore,SetRoundStart))
|
||||
|
||||
@@ -17,7 +17,7 @@ SUBSYSTEM_DEF(autotransfer)
|
||||
return SS_INIT_NO_NEED
|
||||
|
||||
var/init_vote = CONFIG_GET(number/vote_autotransfer_initial)
|
||||
starttime = world.realtime // Skyrat edit
|
||||
starttime = REALTIMEOFDAY
|
||||
targettime = starttime + init_vote
|
||||
voteinterval = CONFIG_GET(number/vote_autotransfer_interval)
|
||||
maxvotes = CONFIG_GET(number/vote_autotransfer_maximum)
|
||||
@@ -29,7 +29,7 @@ SUBSYSTEM_DEF(autotransfer)
|
||||
curvotes = SSautotransfer.curvotes
|
||||
|
||||
/datum/controller/subsystem/autotransfer/fire()
|
||||
if(world.realtime < targettime) // Skyrat edit
|
||||
if(REALTIMEOFDAY < targettime)
|
||||
return
|
||||
if(maxvotes == NO_MAXVOTES_CAP || maxvotes > curvotes)
|
||||
SSvote.initiate_vote(/datum/vote/transfer_vote, "automatic transfer", forced = TRUE)
|
||||
@@ -38,4 +38,17 @@ SUBSYSTEM_DEF(autotransfer)
|
||||
else
|
||||
SSshuttle.autoEnd()
|
||||
|
||||
/**
|
||||
* At shift start, pulls the autotransfer interval from config and applies
|
||||
*
|
||||
* Arguments:
|
||||
* * real_round_shift_time - World time the round left the pregame lobby
|
||||
*/
|
||||
/datum/controller/subsystem/autotransfer/proc/new_shift(real_round_start_time)
|
||||
var/init_vote = CONFIG_GET(number/vote_autotransfer_initial) // Check if an admin has manually set an override in the pre-game lobby
|
||||
starttime = real_round_start_time
|
||||
targettime = starttime + init_vote
|
||||
log_game("Autotransfer enabled, first vote in [DisplayTimeText(targettime - starttime)]")
|
||||
message_admins("Autotransfer enabled, first vote in [DisplayTimeText(targettime - starttime)]")
|
||||
|
||||
#undef NO_MAXVOTES_CAP
|
||||
|
||||
Reference in New Issue
Block a user