Fix for reported issue with the transfer_controller causing a runtime error. Also included is a debug controller for the transfer_controller

This commit is contained in:
DJSnapshot
2013-11-21 17:44:31 -08:00
parent 9936a9251f
commit 983ca2d5e3
4 changed files with 22 additions and 8 deletions

View File

@@ -1,13 +1,17 @@
var/datum/controller/transfer_controller = new /transfer_controller() var/datum/controller/transfer_controller/transfer_controller
var/timerbuffer = 0 //buffer for time check
/transfer_controller/New() datum/controller/transfer_controller
var/timerbuffer = 0 //buffer for time check
var/currenttick = 0
datum/controller/transfer_controller/New()
timerbuffer = config.vote_autotransfer_initial timerbuffer = config.vote_autotransfer_initial
processing_objects += src processing_objects += src
/transfer_controller/Del() datum/controller/transfer_controller/Del()
processing_objects -= src processing_objects -= src
/transfer_controller/proc/process() datum/controller/transfer_controller/proc/process()
currenttick = currenttick + 1
if (world.time >= timerbuffer - 600) if (world.time >= timerbuffer - 600)
vote.autotransfer() vote.autotransfer()
timerbuffer = timerbuffer + config.vote_autotransfer_interval timerbuffer = timerbuffer + config.vote_autotransfer_interval

View File

@@ -67,6 +67,8 @@ datum/controller/game_controller/proc/setup()
setupfactions() setupfactions()
setup_economy() setup_economy()
transfer_controller = new
for(var/i=0, i<max_secret_rooms, i++) for(var/i=0, i<max_secret_rooms, i++)
make_mining_asteroid_secret() make_mining_asteroid_secret()
@@ -119,6 +121,7 @@ datum/controller/game_controller/proc/process()
controller_iteration++ controller_iteration++
vote.process() vote.process()
transfer_controller.process()
process_newscaster() process_newscaster()
//AIR //AIR
@@ -196,7 +199,7 @@ datum/controller/game_controller/proc/process()
timer = world.timeofday timer = world.timeofday
process_nano() process_nano()
nano_cost = (world.timeofday - timer) / 10 nano_cost = (world.timeofday - timer) / 10
sleep(breather_ticks) sleep(breather_ticks)
//EVENTS //EVENTS

View File

@@ -28,7 +28,7 @@
return return
/client/proc/debug_controller(controller in list("Master","Failsafe","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI", "Cameras")) /client/proc/debug_controller(controller in list("Master","Failsafe","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI", "Cameras", "Transfer Controller"))
set category = "Debug" set category = "Debug"
set name = "Debug Controller" set name = "Debug Controller"
set desc = "Debug the various periodic loop controllers for the game (be careful!)" set desc = "Debug the various periodic loop controllers for the game (be careful!)"
@@ -74,5 +74,8 @@
if("Cameras") if("Cameras")
debug_variables(cameranet) debug_variables(cameranet)
feedback_add_details("admin_verb","DCameras") feedback_add_details("admin_verb","DCameras")
if("Transfer Controller")
debug_variables(transfer_controller)
feedback_add_details("admin_verb","DAutovoter")
message_admins("Admin [key_name_admin(usr)] is debugging the [controller] controller.") message_admins("Admin [key_name_admin(usr)] is debugging the [controller] controller.")
return return

View File

@@ -48,7 +48,11 @@ datum/controller/vote
proc/autotransfer() proc/autotransfer()
initiate_vote("crew_transfer","the server") initiate_vote("crew_transfer","the server")
log_debug("The server has called an Autotransfer") log_debug("The server has called a crew transfer vote")
/* proc/autogamemode() //This is here for whoever can figure out how to make this work
initiate_vote("gamemode","the server")
log_debug("The server has called a gamemode vote")*/
proc/reset() proc/reset()
initiator = null initiator = null