diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index c82f8fa605..bfc2bc6f03 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -142,18 +142,14 @@ var/static/list/show_directions = list(SOUTH, WEST) if(H.mind && (H.mind.assigned_role != H.mind.special_role)) var/assignment - var/displayed_rank if(H.mind.assigned_role) assignment = H.mind.assigned_role else if(H.job) assignment = H.job else assignment = "Unassigned" - if(C && C.prefs && C.prefs.alt_titles_preferences[assignment]) - assignment = C.prefs.alt_titles_preferences[assignment] - - if(assignment) - displayed_rank = C.prefs.alt_titles_preferences[assignment] + if(C && C.prefs && C.prefs.alt_titles_preferences[assignment]) + assignment = C.prefs.alt_titles_preferences[assignment] var/static/record_id_num = 1001 var/id = num2hex(record_id_num++,6) @@ -176,7 +172,7 @@ var/datum/data/record/G = new() G.fields["id"] = id G.fields["name"] = H.real_name - G.fields["rank"] = displayed_rank + G.fields["rank"] = assignment G.fields["age"] = H.age G.fields["species"] = H.dna.species.name G.fields["fingerprint"] = md5(H.dna.uni_identity) @@ -223,7 +219,7 @@ var/datum/data/record/L = new() L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]") //surely this should just be id, like the others? L.fields["name"] = H.real_name - L.fields["rank"] = displayed_rank + L.fields["rank"] = assignment L.fields["age"] = H.age if(H.gender == MALE) G.fields["gender"] = "Male" diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 6322bbf7e9..c749e7f5ec 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -175,7 +175,12 @@ Gender: [active1.fields["gender"]]  Age: [active1.fields["age"]] "} dat += "Species: [active1.fields["species"]] " - dat += {"Rank: [active1.fields["rank"]]  + var/record_rank = GetJobName(active1.fields["rank"]) + var/datum/job/job_datum = SSjob.name_occupations[record_rank] + var/how_many_alts = job_datum ? length(job_datum.alt_titles) : null + dat += {"Rank: [active1.fields["rank"]]  +
+ Change title ([how_many_alts + 1] options) Fingerprint: [active1.fields["fingerprint"]]  Physical Status: [active1.fields["p_stat"]]  Mental Status: [active1.fields["m_stat"]]  @@ -692,23 +697,44 @@ What a mess.*/ temp += "
  • Discharged
  • " temp += "" if("rank") - if(istype(active1, /datum/data/record) && ((ACCESS_CAPTAIN in logged_access) || (ACCESS_HOP in logged_access))) + if(istype(active1, /datum/data/record) && ((ACCESS_CAPTAIN in logged_access) || (ACCESS_HOP in logged_access) || (ACCESS_CENT_GENERAL in logged_access))) temp = "
    Rank:
    " temp += "" else alert(usr, "You do not have the required rank to do this!") + if("alt_title") + if(istype(active1, /datum/data/record) && ((ACCESS_CAPTAIN in logged_access) || (ACCESS_HOP in logged_access) || (ACCESS_CENT_GENERAL in logged_access))) + temp = "
    Rank Title:
    " + temp += "" + else + alert(usr, "You do not have the required rank to do this!") + //TEMPORARY MENU FUNCTIONS else//To properly clear as per clear screen. temp=null switch(href_list["choice"]) if("Change Rank") if(active1) - active1.fields["rank"] = href_list["rank"] - if(href_list["rank"] in get_all_jobs()) - active1.fields["real_rank"] = href_list["real_rank"] + if(GetJobName(href_list["rank"]) != "Unknown") // hi hello you looking, stop trying to exploit html + active1.fields["rank"] = href_list["rank"] + active1.fields["real_rank"] = GetJobName(href_list["rank"]) if("Change Criminal Status") if(active2)