From 81c905532f1ea627c616e032c077fcad9e54ecb5 Mon Sep 17 00:00:00 2001 From: Phantastic-Swan Date: Fri, 1 Aug 2025 12:59:58 +0200 Subject: [PATCH] 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 --- .../events/light_processor_overload.dm | 33 +++++++++++++++++++ .../events/light_spider_infestation.dm | 10 ------ code/modules/events/processor_overload.dm | 7 ++-- 3 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 GainStation13/code/modules/events/light_processor_overload.dm diff --git a/GainStation13/code/modules/events/light_processor_overload.dm b/GainStation13/code/modules/events/light_processor_overload.dm new file mode 100644 index 0000000000..4d5d07f00b --- /dev/null +++ b/GainStation13/code/modules/events/light_processor_overload.dm @@ -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[alert]
") + + // 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) diff --git a/GainStation13/code/modules/events/light_spider_infestation.dm b/GainStation13/code/modules/events/light_spider_infestation.dm index 53b1619cad..e3e52c13fb 100644 --- a/GainStation13/code/modules/events/light_spider_infestation.dm +++ b/GainStation13/code/modules/events/light_spider_infestation.dm @@ -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) diff --git a/code/modules/events/processor_overload.dm b/code/modules/events/processor_overload.dm index 578520f565..c1e159180d 100644 --- a/code/modules/events/processor_overload.dm +++ b/code/modules/events/processor_overload.dm @@ -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."