mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 02:54:41 +01:00
Refactors job EXP to allow for multiple departments in restrictions (#17442)
This commit is contained in:
@@ -72,17 +72,17 @@ SUBSYSTEM_DEF(jobs)
|
||||
if(player && player.mind && rank)
|
||||
var/datum/job/job = GetJob(rank)
|
||||
if(!job)
|
||||
return 0
|
||||
return FALSE
|
||||
if(jobban_isbanned(player, rank))
|
||||
return 0
|
||||
return FALSE
|
||||
if(!job.player_old_enough(player.client))
|
||||
return 0
|
||||
if(job.available_in_playtime(player.client))
|
||||
return 0
|
||||
return FALSE
|
||||
if(job.get_exp_restrictions(player.client))
|
||||
return FALSE
|
||||
if(job.barred_by_disability(player.client))
|
||||
return 0
|
||||
return FALSE
|
||||
if(!is_job_whitelisted(player, rank))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/position_limit = job.total_positions
|
||||
if(!latejoin)
|
||||
@@ -121,14 +121,14 @@ SUBSYSTEM_DEF(jobs)
|
||||
Debug("Running FOC, Job: [job], Level: [level], Flag: [flag]")
|
||||
var/list/candidates = list()
|
||||
for(var/mob/new_player/player in unassigned)
|
||||
Debug(" - Player: [player] Banned: [jobban_isbanned(player, job.title)] Old Enough: [!job.player_old_enough(player.client)] AvInPlaytime: [job.available_in_playtime(player.client)] Flag && Be Special: [flag] && [player.client.prefs.be_special] Job Department: [player.client.prefs.active_character.GetJobDepartment(job, level)] Job Flag: [job.flag] Job Department Flag = [job.department_flag]")
|
||||
Debug(" - Player: [player] Banned: [jobban_isbanned(player, job.title)] Old Enough: [!job.player_old_enough(player.client)] AvInPlaytime: [job.get_exp_restrictions(player.client)] Flag && Be Special: [flag] && [player.client.prefs.be_special] Job Department: [player.client.prefs.active_character.GetJobDepartment(job, level)] Job Flag: [job.flag] Job Department Flag = [job.department_flag]")
|
||||
if(jobban_isbanned(player, job.title))
|
||||
Debug("FOC isbanned failed, Player: [player]")
|
||||
continue
|
||||
if(!job.player_old_enough(player.client))
|
||||
Debug("FOC player not old enough, Player: [player]")
|
||||
continue
|
||||
if(job.available_in_playtime(player.client))
|
||||
if(job.get_exp_restrictions(player.client))
|
||||
Debug("FOC player not enough playtime, Player: [player]")
|
||||
continue
|
||||
if(job.barred_by_disability(player.client))
|
||||
@@ -171,7 +171,7 @@ SUBSYSTEM_DEF(jobs)
|
||||
Debug("GRJ player not old enough, Player: [player]")
|
||||
continue
|
||||
|
||||
if(job.available_in_playtime(player.client))
|
||||
if(job.get_exp_restrictions(player.client))
|
||||
Debug("GRJ player not enough playtime, Player: [player]")
|
||||
continue
|
||||
|
||||
@@ -348,7 +348,7 @@ SUBSYSTEM_DEF(jobs)
|
||||
Debug("DO player not old enough, Player: [player], Job:[job.title]")
|
||||
continue
|
||||
|
||||
if(job.available_in_playtime(player.client))
|
||||
if(job.get_exp_restrictions(player.client))
|
||||
Debug("DO player not enough playtime, Player: [player], Job:[job.title]")
|
||||
continue
|
||||
|
||||
@@ -559,7 +559,7 @@ SUBSYSTEM_DEF(jobs)
|
||||
if(!job.player_old_enough(player.client))
|
||||
young++
|
||||
continue
|
||||
if(job.available_in_playtime(player.client))
|
||||
if(job.get_exp_restrictions(player.client))
|
||||
young++
|
||||
continue
|
||||
if(job.barred_by_disability(player.client))
|
||||
@@ -623,7 +623,7 @@ SUBSYSTEM_DEF(jobs)
|
||||
jobs_to_formats[job.title] = "grey"
|
||||
else if(!job.would_accept_job_transfer_from_player(M))
|
||||
jobs_to_formats[job.title] = "grey" // jobs which are karma-locked and not unlocked for this player are discouraged
|
||||
else if((job.title in GLOB.command_positions) && istype(M) && M.client && job.available_in_playtime(M.client))
|
||||
else if((job.title in GLOB.command_positions) && istype(M) && M.client && job.get_exp_restrictions(M.client))
|
||||
jobs_to_formats[job.title] = "grey" // command jobs which are playtime-locked and not unlocked for this player are discouraged
|
||||
else if(job.total_positions && !job.current_positions && job.title != "Assistant")
|
||||
jobs_to_formats[job.title] = "teal" // jobs with nobody doing them at all are encouraged
|
||||
|
||||
Reference in New Issue
Block a user