Radically improves explosion logging. (#61419)

Adds some extra vars and logic to explosion code to make powerful logging entries that should help admins narrow down when explosives get misused.

Records this new info in the feedback database and bumps the explosion version +1 as a result of this.
This commit is contained in:
Timberpoes
2021-09-18 18:13:16 +01:00
committed by GitHub
parent bf0a949ef9
commit d14b6cc849
48 changed files with 168 additions and 101 deletions
@@ -100,9 +100,12 @@
flashing = flash
flashing_factor = flash_fact
/datum/effect_system/reagents_explosion/start()
if(explosion_message)
location.visible_message(span_danger("The solution violently explodes!"), \
span_hear("You hear an explosion!"))
/// Starts the explosion. The explosion_source is as part of logging and identifying the source of the explosion for logs.
/datum/effect_system/reagents_explosion/start(atom/explosion_source = null)
if(!explosion_source)
stack_trace("Reagent explosion triggered without a source atom. This explosion may have incomplete logging.")
dyn_explosion(location, amount, flash_range = flashing_factor)
if(explosion_message)
location.visible_message(span_danger("The solution violently explodes!"), span_hear("You hear an explosion!"))
dyn_explosion(location, amount, flash_range = flashing_factor, explosion_cause = explosion_source)