[READY] Basically, Instant Explosions 2: The Search For More Money: Eternal: A Tail Of Two Kitties: 33 1/3 (#50594)

About The Pull Request

Extools maptick stuff is in the game. Stolen from BeeStation/BeeStation-Hornet#1119, improves performance. Requires ex-tools on the server, though.

Explosions have been refactored to do the actual exploding in a subsystem.

Credit to goon.

Here's some videos!

Why It's Good For The Game
Basically instant max-caps now.
We can now give more of a tick over to the sending of map updates

Changelog

cl Goonstation Coders, Beestation, Extools devs
refactor: Explosions have been heavily optimized.
/cl
This commit is contained in:
Iamgoofball
2020-04-30 10:27:53 +12:00
committed by GitHub
parent 3c84974f82
commit a3aa69701a
69 changed files with 750 additions and 436 deletions
@@ -491,8 +491,13 @@
/obj/structure/closet/contents_explosion(severity, target)
for(var/atom/A in contents)
A.ex_act(severity, target)
CHECK_TICK
switch(severity)
if(EXPLODE_DEVASTATE)
SSexplosions.highobj += A
if(EXPLODE_HEAVY)
SSexplosions.medobj += A
if(EXPLODE_LIGHT)
SSexplosions.lowobj += A
/obj/structure/closet/singularity_act()
dump_contents()
+7 -1
View File
@@ -33,7 +33,13 @@
/obj/structure/extinguisher_cabinet/contents_explosion(severity, target)
if(stored_extinguisher)
stored_extinguisher.ex_act(severity, target)
switch(severity)
if(EXPLODE_DEVASTATE)
SSexplosions.highobj += stored_extinguisher
if(EXPLODE_HEAVY)
SSexplosions.medobj += stored_extinguisher
if(EXPLODE_LIGHT)
SSexplosions.lowobj += stored_extinguisher
/obj/structure/extinguisher_cabinet/handle_atom_del(atom/A)
if(A == stored_extinguisher)
+7 -2
View File
@@ -96,8 +96,13 @@
/obj/structure/guncase/contents_explosion(severity, target)
for(var/atom/A in contents)
A.ex_act(severity++, target)
CHECK_TICK
switch(severity)
if(EXPLODE_DEVASTATE)
SSexplosions.highobj += A
if(EXPLODE_HEAVY)
SSexplosions.medobj += A
if(EXPLODE_LIGHT)
SSexplosions.lowobj += A
/obj/structure/guncase/shotgun
name = "shotgun locker"
@@ -59,7 +59,13 @@
/obj/structure/transit_tube_pod/contents_explosion(severity, target)
for(var/atom/movable/AM in contents)
AM.ex_act(severity, target)
switch(severity)
if(EXPLODE_DEVASTATE)
SSexplosions.highobj += AM
if(EXPLODE_HEAVY)
SSexplosions.medobj += AM
if(EXPLODE_LIGHT)
SSexplosions.lowobj += AM
/obj/structure/transit_tube_pod/singularity_pull(S, current_size)
..()