Files
Bubberstation/code/modules/events/processor_overload.dm
Timberpoes d14b6cc849 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.
2021-09-18 18:13:16 +01:00

40 lines
1.4 KiB
Plaintext

/datum/round_event_control/processor_overload
name = "Processor Overload"
typepath = /datum/round_event/processor_overload
weight = 15
min_players = 20
/datum/round_event/processor_overload
announceWhen = 1
/datum/round_event/processor_overload/announce(fake)
var/alert = pick( "Exospheric bubble inbound. Processor overload is likely. Please contact you*%xp25)`6cq-BZZT", \
"Exospheric bubble inbound. Processor overload is likel*1eta;c5;'1v¬-BZZZT", \
"Exospheric bubble inbound. Processor ov#MCi46:5.;@63-BZZZZT", \
"Exospheric bubble inbo'Fz\\k55_@-BZZZZZT", \
"Exospheri:%£ QCbyj^j</.3-BZZZZZZT", \
"!!hy%;f3l7e,<$^-BZZZZZZZT")
for(var/mob/living/silicon/ai/A in GLOB.ai_list)
//AIs are always aware of processor overload
to_chat(A, "<br>[span_warning("<b>[alert]</b>")]<br>")
// Announce most of the time, but leave a little gap so people don't know
// whether it's, say, a tesla zapping tcomms, or some selective
// modification of the tcomms bus
if(prob(80) || fake)
priority_announce(alert)
/datum/round_event/processor_overload/start()
for(var/obj/machinery/telecomms/processor/P in GLOB.telecomms_list)
if(prob(10))
announce_to_ghosts(P)
// Damage the surrounding area to indicate that it popped
explosion(P, light_impact_range = 2, explosion_cause = src)
// Only a level 1 explosion actually damages the machine
// at all
SSexplosions.high_mov_atom += P
else
P.emp_act(EMP_HEAVY)