Merge branch 'master' into buttbots2

Conflicts:
	code/defines/procs/AStar.dm
	code/modules/mob/living/simple_animal/bot/cleanbot.dm
	code/modules/mob/living/simple_animal/bot/medbot.dm
	paradise.dme
This commit is contained in:
Tastyfish
2016-03-31 13:28:05 -04:00
245 changed files with 6723 additions and 4456 deletions
+44
View File
@@ -0,0 +1,44 @@
var/datum/controller/process/diseases/disease_master
/datum/controller/process/diseases
var/list/currentrun = list()
var/list/processing_diseases = list()
/datum/controller/process/diseases/setup()
name = "disease"
schedule_interval = 20 // every 2 seconds
start_delay = 7
log_startup_progress("Disease controller starting.")
if(disease_master)
qdel(disease_master) //only one mob master
disease_master = src
register_diseases() //register all pre-round diseases created
/datum/controller/process/diseases/statProcess()
..()
stat(null, "[processing_diseases.len] diseases")
/datum/controller/process/diseases/doWork()
src.currentrun = processing_diseases.Copy()
//cache for sanic speed (lists are references anyways)
var/list/currentrun = src.currentrun
while(currentrun.len)
var/datum/disease/thing = currentrun[1]
currentrun.Cut(1, 2)
if(thing)
try
thing.process()
catch(var/exception/e)
catchException(e, thing)
SCHECK
else
catchBadType(thing)
processing_diseases.Remove(thing)
/datum/controller/process/diseases/proc/register_diseases()
for(var/datum/disease/D in world)
if(!processing_diseases.Find(D))
D.register()