From f46766ca236a4fd55de10ab0a14720f4db1683f3 Mon Sep 17 00:00:00 2001 From: khubajsn Date: Sun, 16 Jun 2013 10:54:46 +0200 Subject: [PATCH] Finished writing SetJobPreferenceLevel, it appears that SetJobDepartment doesnt support direct level input --- code/modules/client/preferences.dm | 45 ++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index eaff845554e..d3db1adb248 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -358,27 +358,60 @@ datum/preferences SetChoices(user) return 1 - proc/RemoveJobFromPreferences(role) - var/datum/job/job = job_master.GetJob(role) - + proc/SetJobPreferenceLevel(var/datum/job/job, var/level) if (!job) return 0 + if (level == 1) // set all current high preferred to medium + job_civilian_med |= job_civilian_high + job_engsec_med |= job_engsec_high + job_medsci_med |= job_medsci_high + job_civilian_high = 0 + job_engsec_high = 0 + job_medsci_high = 0 + if (job.department_flag == CIVILIAN) job_civilian_low &= ~job.flag job_civilian_med &= ~job.flag job_civilian_high &= ~job.flag - return CIVILIAN + + switch(level) + if (1) + job_civilian_high |= job.flag + if (2) + job_civilian_med |= job.flag + if (3) + job_civilian_low |= job.flag + + return 1 else if (job.department_flag == ENGSEC) job_engsec_low &= ~job.flag job_engsec_med &= ~job.flag job_engsec_high &= ~job.flag - return ENGSEC + + switch(level) + if (1) + job_engsec_high |= job.flag + if (2) + job_engsec_med |= job.flag + if (3) + job_engsec_low |= job.flag + + return 1 else if (job.department_flag == MEDSCI) job_medsci_low &= ~job.flag job_medsci_med &= ~job.flag job_medsci_high &= ~job.flag - return MEDSCI + + switch(level) + if (1) + job_medsci_high |= job.flag + if (2) + job_medsci_med |= job.flag + if (3) + job_medsci_low |= job.flag + + return 1 return 0