Files
Bubberstation/code/modules/events/bureaucratic_error.dm
tattle 118b27c729 Return of the scrubber overflow event (#68378)
About The Pull Request

Brings back the scrubber overflow event, previously removed in #53549
This version has nerfed numbers because foam changes made it stupidly powerful.

Also snake_cases some event variables.
Why It's Good For The Game

More dangerous but not station-damaging events. Bonus: janitor content.
Changelog

cl
add: Re-adds the scrubber overflow event as a random event
/cl
2022-09-02 09:55:45 +12:00

32 lines
1.4 KiB
Plaintext

/datum/round_event_control/bureaucratic_error
name = "Bureaucratic Error"
typepath = /datum/round_event/bureaucratic_error
max_occurrences = 1
weight = 5
category = EVENT_CATEGORY_BUREAUCRATIC
description = "Randomly opens and closes job slots, along with changing the overflow role."
/datum/round_event/bureaucratic_error
announce_when = 1
/datum/round_event/bureaucratic_error/announce(fake)
priority_announce("A recent bureaucratic error in the Organic Resources Department may result in personnel shortages in some departments and redundant staffing in others.", "Paperwork Mishap Alert")
/datum/round_event/bureaucratic_error/start()
var/list/jobs = SSjob.joinable_occupations.Copy()
if(prob(33)) // Only allows latejoining as a single role. Add latejoin AI bluespace pods for fun later.
var/datum/job/overflow = pick_n_take(jobs)
overflow.spawn_positions = -1
overflow.total_positions = -1 // Ensures infinite slots as this role. Assistant will still be open for those that cant play it.
for(var/job in jobs)
var/datum/job/current = job
if(!current.allow_bureaucratic_error)
continue
current.total_positions = 0
else // Adds/removes a random amount of job slots from all jobs.
for(var/datum/job/current as anything in jobs)
if(!current.allow_bureaucratic_error)
continue
var/ran = rand(-2,4)
current.total_positions = max(current.total_positions + ran, 0)