Explosion subsystem (#17499)

* Initial port

* pause air

* decoupled input from processing

* explosion condition tweak

* closer to original recursive code

* accurate explosions

* better defer calls

* glob fix

* fix

* DON'T DO THAT

* initial deferral code

* small explosions ignored

* lower thresholds

* better thresholds again

* forbid powernet defer during init, explosions too

* don't block your own network regen

* use procs

* better thresholds, always defer at least

* admin notice

* subsytem updated

* Allow removal from networks

* defer till rebuild

* dir

* Update breaker_box.dm

* no init means no init

* then flag it...

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
Co-authored-by: C.L. <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
Will
2025-08-15 16:55:19 -04:00
committed by GitHub
parent 5fa1055b7c
commit eba43f278c
17 changed files with 388 additions and 220 deletions
@@ -24,10 +24,6 @@
sleep(25)
/datum/effect/effect/system/grav_pull/proc/do_pull()
//following is adapted from supermatter and singulo code
if(defer_powernet_rebuild != 2)
defer_powernet_rebuild = 1
// Let's just make this one loop.
for(var/X in orange(pull_radius, location))
// Movable atoms only
@@ -58,6 +54,3 @@
step_towards(X, location) // Step twice
step_towards(X, location)
if(defer_powernet_rebuild != 2)
defer_powernet_rebuild = 0