From 2877b27399143a669dd0f6dd248c805c24c9d837 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sat, 8 Mar 2014 01:44:43 -0600 Subject: [PATCH] Debug Options: Gives us an idea of what mobs are taking so long to process Adds an "Expensive Mobs" list that shows what mobs took more then 1 decisecond to process. This way if mob controller is going nuts we can debug master controller and see why, or atleast see which mob it is. --- code/controllers/master_controller.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index e0bd38086aa..747b3bf2ce2 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -30,6 +30,7 @@ datum/controller/game_controller var/total_cost = 0 var/last_thing_processed + var/mob/list/expensive_mobs = list() datum/controller/game_controller/New() //There can be only one master_controller. Out with the old and in with the new. @@ -226,11 +227,15 @@ datum/controller/game_controller/proc/process() datum/controller/game_controller/proc/process_mobs() var/i = 1 + expensive_mobs.Cut() while(i<=mob_list.len) var/mob/M = mob_list[i] if(M) + var/clock = world.timeofday last_thing_processed = M.type M.Life() + if((world.timeofday - clock) > 1) + expensive_mobs += M i++ continue mob_list.Cut(i,i+1)