From 5b3f6dca2968bc98a852428b8f36fd383b6a7d3e Mon Sep 17 00:00:00 2001 From: JTGSZ <46565256+JTGSZ@users.noreply.github.com> Date: Mon, 23 Sep 2019 23:58:57 -0400 Subject: [PATCH] Species Job Check --- code/controllers/subsystem/job.dm | 11 +++++++++++ code/modules/client/preferences.dm | 6 ++++++ code/modules/mob/living/carbon/human/species.dm | 8 ++++---- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index a0d9226e14..ea7e7ce812 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -110,6 +110,9 @@ SUBSYSTEM_DEF(job) if(job.required_playtime_remaining(player.client)) JobDebug("FOC player not enough xp, Player: [player]") continue + if(!player.client.prefs.pref_species.qualifies_for_rank(job.title, player.client.prefs.features)) + JobDebug("FOC non-human failed, Player: [player]") + continue if(flag && (!(flag in player.client.prefs.be_special))) JobDebug("FOC flag failed, Player: [player], Flag: [flag], ") continue @@ -145,6 +148,10 @@ SUBSYSTEM_DEF(job) JobDebug("GRJ player not old enough, Player: [player]") continue + if(!player.client.prefs.pref_species.qualifies_for_rank(job.title, player.client.prefs.features)) + JobDebug("GRJ non-human failed, Player: [player]") + continue + if(job.required_playtime_remaining(player.client)) JobDebug("GRJ player not enough xp, Player: [player]") continue @@ -327,6 +334,10 @@ SUBSYSTEM_DEF(job) if(job.required_playtime_remaining(player.client)) JobDebug("DO player not enough xp, Player: [player], Job:[job.title]") continue + + if(!player.client.prefs.pref_species.qualifies_for_rank(job.title, player.client.prefs.features)) + JobDebug("DO non-human failed, Player: [player], Job:[job.title]") + continue if(player.mind && job.title in player.mind.restricted_roles) JobDebug("DO incompatible with antagonist role, Player: [player], Job:[job.title]") diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index f9fc7b9221..ae6de5ba05 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1039,6 +1039,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/available_in_days = job.available_in_days(user.client) HTML += "[rank]