mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-05 14:32:52 +00:00
31 lines
1.4 KiB
Plaintext
31 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
|
|
|
|
/datum/round_event/bureaucratic_error
|
|
announceWhen = 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.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.title == "AI" || current.title == SSjob.overflow_role) // AI currently doesnt support latejoining past one total.
|
|
continue
|
|
current.total_positions = 0
|
|
else // Adds/removes a random amount of job slots from all jobs.
|
|
for(var/job in jobs)
|
|
var/datum/job/current = job
|
|
if(current.title == "AI" || current.title == SSjob.overflow_role) // AI currently doesnt support latejoining past one total.
|
|
continue
|
|
var/ran = rand(-2,4)
|
|
current.total_positions = max(current.total_positions + ran, 0)
|