From 784b76af046bb7fb48ce88e9a6ad1c36c7149cd6 Mon Sep 17 00:00:00 2001 From: JohnWildkins Date: Mon, 14 Oct 2019 15:50:50 -0400 Subject: [PATCH] Fix late-join not showing alt-title jobs with differing minimum ages from main job (#7156) Fixes #7122 - basically just makes IsJobAvailable() check for the player's selected alt-title rather than just the main title, so you can late-join as an 18-year-old medical intern again for example Also first PR apologies in advance --- code/controllers/subsystems/job.dm | 2 +- .../mob/abstract/new_player/new_player.dm | 2 +- html/changelogs/johnwildkins-7156.yml | 42 +++++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 html/changelogs/johnwildkins-7156.yml diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm index fd89a180e8b..eb3d2206f5e 100644 --- a/code/controllers/subsystems/job.dm +++ b/code/controllers/subsystems/job.dm @@ -102,7 +102,7 @@ if(jobban_isbanned(player, rank)) return FALSE - if(!(rank in player.client.prefs.GetValidTitles(job))) + if(!(player.client.prefs.GetPlayerAltTitle(job) in player.client.prefs.GetValidTitles(job))) to_chat(player, "Your character is too young!") return FALSE diff --git a/code/modules/mob/abstract/new_player/new_player.dm b/code/modules/mob/abstract/new_player/new_player.dm index 69194473257..02b66056f95 100644 --- a/code/modules/mob/abstract/new_player/new_player.dm +++ b/code/modules/mob/abstract/new_player/new_player.dm @@ -283,7 +283,7 @@ INITIALIZE_IMMEDIATE(/mob/abstract/new_player) if (!(job.type in faction.allowed_role_types)) return FALSE - if(!(rank in client.prefs.GetValidTitles(job))) // does age/species check for us! + if(!(client.prefs.GetPlayerAltTitle(job) in client.prefs.GetValidTitles(job))) // does age/species check for us! return FALSE return TRUE diff --git a/html/changelogs/johnwildkins-7156.yml b/html/changelogs/johnwildkins-7156.yml new file mode 100644 index 00000000000..d67ace0c893 --- /dev/null +++ b/html/changelogs/johnwildkins-7156.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: JohnWildkins + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixed being unable to late-join as alt-title jobs if character age below requirement for main title" + - bugfix: "Fixed 'Your character too young!' warning if late-joining as alt-title younger than main"