Files
Aurora.3/code/game/master_controller.dm
rastaf.zero@gmail.com 0af3ebe054 Fixed crashing master_controller() process when mob suddenly gets deleted during his Life().
Girder now have ex_act(), so it will not be indestructible anymore.
Max amount of steel floor tiles in one stack was set to 60 (was 10). If you made too much of tiles you can put undue ones into autolathe.
Fixed uncompilable line left by bizarre.babel in r939. Other her derp she should fix herself because I am mad >:[


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@940 316c924e-a436-60f5-8080-3fe189b3f50e
2011-02-02 18:56:03 +00:00

110 lines
2.2 KiB
Plaintext

var/global/datum/controller/game_controller/master_controller //Set in world.New()
datum/controller/game_controller
var/processing = 1
proc
setup()
setup_objects()
process()
setup()
if(master_controller && (master_controller != src))
del(src)
//There can be only one master.
if(!air_master)
air_master = new /datum/controller/air_system()
air_master.setup()
//world.tick_lag = 0.6
setup_objects()
setupgenetics()
setupcorpses()
emergency_shuttle = new /datum/shuttle_controller/emergency_shuttle()
if(!ticker)
ticker = new /datum/controller/gameticker()
spawn
ticker.pregame()
setup_objects()
world << "\red \b Initializing objects"
sleep(-1)
for(var/obj/object in world)
object.initialize()
world << "\red \b Initializing pipe networks"
sleep(-1)
for(var/obj/machinery/atmospherics/machine in world)
machine.build_network()
/*world << "\red \b Initializing atmos machinery"
sleep(-1)
find_air_alarms()*/
world << "\red \b Initializations complete."
process()
if(!processing)
return 0
//world << "Processing"
var/start_time = world.timeofday
air_master.process()
sleep(1)
sun.calc_position()
sleep(-1)
for(var/mob/M in world)
if (M.metabslow)
if (air_master.current_cycle%10==1) // For everyone who has their metabolism slowed, make updates not so frequently
M.Life()
else
M.Life()
if (M && M.mind) //I think it will be better if author place this under mob/Life() - rastaf0
if (M.mind.special_role == "Changeling")
M.chem_charges = between(0, (max((0.9 - (M.chem_charges / 50)), 0.1) + M.chem_charges), 50)
sleep(-1)
for(var/datum/disease/D in active_diseases)
D.process()
for(var/obj/machinery/machine in machines)
machine.process()
sleep(-1)
sleep(1)
for(var/obj/item/item in processing_items)
item.process()
for(var/datum/pipe_network/network in pipe_networks)
network.process()
for(var/datum/powernet/P in powernets)
P.reset()
sleep(-1)
ticker.process()
sleep(world.timeofday+10-start_time)
spawn process()
return 1