Clean up mob code a bit

Does the following:
 - Cleans up how gravity works, a little bit
 - Pushes duplicated procs for slimes/xenos/humans up to carbon/Life()
 - carbon/Life() is now a thing, it handles the non-special stuff for all
   carbons
 - Mob controller no longer ticks a seperate entity, mob_master is now
   just a reference to the mob process, which ticks.
This commit is contained in:
Tigercat2000
2015-10-26 12:04:44 -07:00
parent c7ae1fef0d
commit 206f7079df
13 changed files with 209 additions and 349 deletions
+7 -16
View File
@@ -1,12 +1,16 @@
var/global/datum/controller/process/mob/mob_master
/datum/controller/process/mob
var/current_cycle
/datum/controller/process/mob/setup()
name = "mob"
schedule_interval = 20 // every 2 seconds
start_delay = 16
if(!mob_master)
mob_master = new
mob_master.Setup()
log_startup_progress("Mob ticker starting up.")
if(mob_master)
qdel(mob_master) //only one mob master
mob_master = src
/datum/controller/process/mob/started()
..()
@@ -29,17 +33,4 @@
else
catchBadType(M)
mob_list -= M
mob_master.process()
var/global/datum/controller/mob_system/mob_master
/datum/controller/mob_system
var/current_cycle
var/starttime
/datum/controller/mob_system/proc/Setup()
log_startup_progress("Mob ticker starting up.")
starttime = world.timeofday
/datum/controller/mob_system/proc/process()
current_cycle++