diff --git a/code/game/jobs/job_scaling.dm b/code/game/jobs/job_scaling.dm new file mode 100644 index 00000000000..7d8804783f1 --- /dev/null +++ b/code/game/jobs/job_scaling.dm @@ -0,0 +1,11 @@ +/hook/roundstart/proc/jobscaling() + sleep(10 SECONDS) // give everyone time to finish spawning, and the lag to die down + var/playercount = length(clients) + var/highpop_trigger = 80 + + if(playercount >= highpop_trigger) + log_debug("Playercount: [playercount] versus trigger: [highpop_trigger] - loading highpop job config"); + job_master.LoadJobs("config/jobs_highpop.txt") + else + log_debug("Playercount: [playercount] versus trigger: [highpop_trigger] - keeping standard job config"); + return 1 \ No newline at end of file diff --git a/config/example/jobs_highpop.txt b/config/example/jobs_highpop.txt new file mode 100644 index 00000000000..962803ab886 --- /dev/null +++ b/config/example/jobs_highpop.txt @@ -0,0 +1,37 @@ +Captain=1 +Head of Personnel=1 +Head of Security=1 +Chief Engineer=1 +Research Director=1 +Chief Medical Officer=1 + +Station Engineer=5 +Roboticist=1 + +Medical Doctor=5 +Geneticist=2 +Virologist=1 + +Scientist=3 +Chemist=2 + +Bartender=1 +Botanist=2 +Chef=1 +Janitor=1 +Quartermaster=1 +Shaft Miner=3 + +Warden=1 +Detective=1 +Security Officer=7 + +Assistant=-1 +Atmospheric Technician=4 +Cargo Technician=3 +Chaplain=1 +Lawyer=2 +Librarian=1 + +AI=1 +Cyborg=1 \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 530eff9fc13..838bb65f82e 100644 --- a/paradise.dme +++ b/paradise.dme @@ -530,6 +530,7 @@ #include "code\game\jobs\job_controller.dm" #include "code\game\jobs\job_exp.dm" #include "code\game\jobs\job_objective.dm" +#include "code\game\jobs\job_scaling.dm" #include "code\game\jobs\jobs.dm" #include "code\game\jobs\whitelist.dm" #include "code\game\jobs\job\central.dm"