Lets the bureaucracy mishap event have a chance to roll rare jobs (#22218)

* damn bureaus

* nah nvm detective ur good

* it isnt 10% anymore

* rev1

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* rev2

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

---------

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
Cocacolagua
2023-09-13 17:02:08 -03:00
committed by GitHub
parent c93b6da25f
commit 25dd98b449
+16 -10
View File
@@ -3,21 +3,24 @@
/// Jobs that are not allowed to be picked for the bureaucratic error
var/list/blacklisted_jobs = list(
/datum/job/assistant,
/datum/job/ai,
/datum/job/cyborg,
/datum/job/blueshield,
/datum/job/chaplain,
/datum/job/officer,
/datum/job/warden
)
/// Jobs that pass an additional 40% chance per roll to be picked for the bureaucratic error
var/list/uncommon_jobs = list(
/datum/job/chief_engineer,
/datum/job/cmo,
/datum/job/rd,
/datum/job/hos,
/datum/job/ai,
/datum/job/cyborg,
/datum/job/captain,
/datum/job/hop,
/datum/job/nanotrasenrep,
/datum/job/blueshield,
/datum/job/judge,
/datum/job/chaplain,
/datum/job/officer,
/datum/job/detective,
/datum/job/warden,
/datum/job/qm
)
@@ -33,10 +36,13 @@
while(errors < overflow_amount)
var/random_change = pick(-2, -1, 1, 2)
overflow = pick_n_take(jobs)
if(overflow.admin_only)
continue
if(overflow.type in blacklisted_jobs)
if((overflow.admin_only) || (overflow.type in blacklisted_jobs))
continue
if(overflow.type in uncommon_jobs)
if(prob(40))
random_change = clamp(random_change, 1, 2)
else
continue
overflow.total_positions = max(overflow.total_positions + random_change, 0)
affected_jobs += "[overflow.title] slot changed by [random_change]"
errors++