makes processor overload require less people to spawn, but gives it a lower weight. also adds in a light processor overload, which is more likely to spawn but doesn't destroy processors

This commit is contained in:
Phantastic-Swan
2025-08-01 12:59:58 +02:00
parent ff7b6c0bd3
commit 81c905532f
3 changed files with 38 additions and 12 deletions
@@ -0,0 +1,33 @@
/datum/round_event_control/processor_overload/light
name = "Light Processor Overload"
typepath = /datum/round_event/processor_overload/light
weight = 20 // more likely than the base one
min_players = 0 // doesn't break shit so we don't care if there is nobody around to fix it
max_occurrences = 15 // 15, since comms going down goes BRRRRRRRT
description = "Emps the telecomm processors, scrambling radio speech. Doesn't blow them up."
/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 class='warning'><b>[alert]</b></span><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))
continue // 10% chance it spares a processor from getting scrambled like an egg
else
P.emp_act(80)
@@ -5,20 +5,10 @@
max_occurrences = 4
min_players = 8
// /datum/round_event/spider_infestation
// announce_when = 400
// var/spawncount = 1
/datum/round_event/spider_infestation/light/setup()
announce_when = rand(announce_when, announce_when + 50)
spawncount = rand(3, 5)
// /datum/round_event/spider_infestation/announce(fake)
// priority_announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", "aliens")
/datum/round_event/spider_infestation/light/start()
var/list/vents = list()
for(var/obj/machinery/atmospherics/components/unary/vent_pump/temp_vent in GLOB.machines)
+5 -2
View File
@@ -1,8 +1,11 @@
/datum/round_event_control/processor_overload
name = "Processor Overload"
typepath = /datum/round_event/processor_overload
weight = 15
min_players = 20
// GS13 EDIT
weight = 10 // from 15 to 10, because of the change below
min_players = 10 // from 20 to 10, we want to have a chance of this spawning but not to shaft REALLY low pop
max_occurrences = 3 // from INF to 3, let's not have them blow up constantly
// GS13 END EDIT
category = EVENT_CATEGORY_ENGINEERING
description = "Emps the telecomm processors, scrambling radio speech. Might blow up a few."