Files
Bubberstation/code/controllers/subsystem/fields.dm
kevinz000 16b44c2937 [READY]Peacekeeper cyborg projectile dampening fields, attempt three (#27234)
* fields

* peaceborg dampeners

* hm

* nerfs recharge

* ...

* fffff

* objectively fields

* kinda_working

* why is this not working

* cheep

* bugfixes, adds to robot

* cross doesn't work ;-;

* on border

* appearance

* hi, is this a refactor?

* ffs

* ree

* monitor

* monitor

* hm

* all good

* Update robot_items.dm
2017-05-18 10:53:55 -06:00

28 lines
767 B
Plaintext

SUBSYSTEM_DEF(fields)
name = "Fields"
wait = 2
priority = 40
flags = SS_KEEP_TIMING
var/list/datum/proximity_monitor/advanced/running = list()
var/list/datum/proximity_monitor/advanced/currentrun = list()
/datum/controller/subsystem/fields/fire(resumed = 0)
if(!resumed)
src.currentrun = running.Copy()
var/list/currentrun = src.currentrun
while(currentrun.len)
var/datum/proximity_monitor/advanced/F = currentrun[currentrun.len]
currentrun.len--
if(!F.requires_processing)
continue
F.process()
if(MC_TICK_CHECK)
return
/datum/controller/subsystem/fields/proc/register_new_field(datum/proximity_monitor/advanced/F)
running += F
/datum/controller/subsystem/fields/proc/unregister_field(datum/proximity_monitor/advanced/F)
running -= F