Files
Bubberstation/code/modules/events/bureaucratic_error.dm
SkyratBot 8add735177 [MIRROR] Return of the scrubber overflow event [MDB IGNORE] (#15998)
* 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

* Return of the scrubber overflow event

* update modular and fix missing non modular edit

* update stray meteor event

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 19:27:59 +01:00

34 lines
1.5 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.
*/ // SKYRAT EDIT REMOVAL - no more locking off jobs
for(var/datum/job/current as anything in jobs)
if(!current.allow_bureaucratic_error)
continue
var/ran = rand(1,4) // SKYRAT EDIT - no more locking off jobs
current.total_positions = max(current.total_positions + ran, 0)