mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-28 18:11:16 +00:00
Currently, a victory for revoutionaries leads to the round abruptly ending on dynamic. This has been replaced by all revolutionaries being deconverted, and no new security or command positions being available. Also attempts to unionize (pun intended) copy and paste code in the round start and late join revolutionary rulesets into being handled under the revolutionary team instead.
31 lines
1.2 KiB
Plaintext
31 lines
1.2 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.allow_bureaucratic_error)
|
|
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.allow_bureaucratic_error)
|
|
continue
|
|
var/ran = rand(-2,4)
|
|
current.total_positions = max(current.total_positions + ran, 0)
|