mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-30 11:32:20 +00:00
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.
40 lines
1.4 KiB
Plaintext
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)
|