Files
Paradise/code/game/master_controller.dm
baloh.matevz 809ba1710d Solars fix. Needs the powernet fix to actually work properly.
- Solars now bring out a fixed value. 700W each, meaning 60 of them (one array) generates 42000W. Not enough to power the station? That's the point. Although 4 x 42000W = 168000. This might be nerfed soon.
- Sun removed. Seriously, that thing ate up processor time and was completely useless.
- Solar tracker remains on the map but is completely useless. Will remove.
- Also reverted the cable updates from r1729. The code from prior to that revision might be as laggy as it was, but it works properly. After the revision powernets didn't calculate available power properly and did not update properly when new pieces were made (They stopped updating at the first wire piece which ended in a knot (non-smooth cable piece))

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1897 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-21 02:58:03 +00:00

126 lines
2.6 KiB
Plaintext

var/global/datum/controller/game_controller/master_controller //Set in world.New()
var/global/controllernum = "no"
datum/controller/game_controller
var/processing = 1
proc
setup()
setup_objects()
process()
setup()
if(master_controller && (master_controller != src))
del(src)
return
//There can be only one master.
if(!air_master)
air_master = new /datum/controller/air_system()
air_master.setup()
world.tick_lag = 0.9
setup_objects()
setupgenetics()
//setupcorpses() Not used any more.
syndicate_code_phrase = generate_code_phrase()//Sets up code phrase for traitors, for the round.
syndicate_code_response = generate_code_phrase()
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)
for(var/obj/machinery/atmospherics/unary/vent_pump/T in world)
T.broadcast_status()
for(var/obj/machinery/atmospherics/unary/vent_scrubber/T in world)
T.broadcast_status()
/*world << "\red \b Initializing atmos machinery"
sleep(-1)
find_air_alarms()*/
world << "\red \b Initializations complete."
process()
if(!processing)
return 0
//world << "Processing"
controllernum = "yes"
spawn (100) controllernum = "no"
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()
sleep(-1)
for(var/datum/disease/D in active_diseases)
D.process()
for(var/obj/machinery/machine in machines)
if(machine)
machine.process()
if(machine && machine.use_power)
machine.auto_use_power()
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