mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-26 14:47:50 +01:00
Merge pull request #2816 from VOREStation/aro-ratio
Allows setting/enforcing an assistant ratio
This commit is contained in:
@@ -103,6 +103,7 @@ var/list/admin_verbs_admin = list(
|
||||
/datum/admins/proc/paralyze_mob,
|
||||
/client/proc/fixatmos,
|
||||
/datum/admins/proc/quick_nif, //VOREStation Add,
|
||||
/datum/admins/proc/assistant_ratio, //VOREStation Add,
|
||||
/datum/admins/proc/sendFax
|
||||
)
|
||||
|
||||
|
||||
@@ -30,3 +30,18 @@
|
||||
|
||||
log_and_message_admins("[key_name(src)] Quick NIF'd [H.real_name].")
|
||||
feedback_add_details("admin_verb","QNIF") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/assistant_ratio()
|
||||
set category = "Admin"
|
||||
set name = "Toggle Asst. Ratio"
|
||||
set desc = "Toggles the assistant ratio enforcement on/off."
|
||||
|
||||
if(!check_rights(R_ADMIN))
|
||||
return
|
||||
|
||||
if(isnull(config.assistants_ratio))
|
||||
to_chat(usr,"<span class='warning'>Assistant ratio enforcement isn't even turned on...</span>")
|
||||
return
|
||||
|
||||
config.assistants_ratio *= -1
|
||||
to_chat(usr,"<span class='notice'>Assistant ratio enforcement now [config.assistants_ratio > 0 ? "<b>en</b>abled" : "<b>dis</b>abled"].</span>")
|
||||
|
||||
@@ -47,6 +47,22 @@
|
||||
pass = FALSE
|
||||
to_chat(src,"<span class='warning'>Your custom species is not playable. Reconfigure your traits on the VORE tab.</span>")
|
||||
|
||||
//Assistant ratio enforcement
|
||||
if (config.assistants_ratio > 0) //Stored as a negative number when inactive by admin verb
|
||||
|
||||
var/nonassistants = 0
|
||||
var/assistants = 0
|
||||
for(var/job in job_master.occupations)
|
||||
var/datum/job/J = job
|
||||
if(istype(J,/datum/job/assistant))
|
||||
assistants += J.current_positions
|
||||
else
|
||||
nonassistants += J.current_positions
|
||||
|
||||
if(assistants != 0 && assistants >= config.assistants_assured && nonassistants/assistants < config.assistants_ratio)
|
||||
pass = FALSE
|
||||
to_chat(src,"There are currently [assistants] assistants, and [nonassistants] normal employees, while we enforce a specific ratio. Please join as a job instead of assistant.")
|
||||
|
||||
//Final popup notice
|
||||
if (!pass)
|
||||
alert(src,"There were problems with spawning your character. Check your message log for details.","Error","OK")
|
||||
|
||||
Reference in New Issue
Block a user