diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 8e687e9a3d..1aaf8d66f3 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -288,7 +288,7 @@ var/global/list/PDA_Manifest = list() manifest_inject(H) return -/datum/datacore/proc/manifest_modify(var/name, var/assignment) +/datum/datacore/proc/manifest_modify(var/name, var/assignment, var/rank) ResetPDAManifest() var/datum/data/record/foundrecord var/real_title = assignment @@ -302,11 +302,17 @@ var/global/list/PDA_Manifest = list() var/list/all_jobs = get_job_datums() for(var/datum/job/J in all_jobs) - var/list/alttitles = get_alternate_titles(J.title) - if(!J) continue - if(assignment in alttitles) - real_title = J.title + if(J.title == rank) //If we have a rank, just default to using that. + real_title = rank break + else if(J.title == assignment) + real_title = rank + break + else + var/list/alttitles = get_alternate_titles(J.title) + if(assignment in alttitles) + real_title = J.title + break if(foundrecord) foundrecord.fields["rank"] = assignment diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 58c5e57f7b..2718be034a 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -153,7 +153,7 @@ switch(href_list["choice"]) if ("modify") if (modify) - data_core.manifest_modify(modify.registered_name, modify.assignment) + data_core.manifest_modify(modify.registered_name, modify.assignment, modify.rank) modify.name = text("[modify.registered_name]'s ID Card ([modify.assignment])") if(ishuman(usr)) modify.forceMove(get_turf(src)) diff --git a/code/modules/tgui/modules/ntos-only/cardmod.dm b/code/modules/tgui/modules/ntos-only/cardmod.dm index f96a267288..c9c13f5b33 100644 --- a/code/modules/tgui/modules/ntos-only/cardmod.dm +++ b/code/modules/tgui/modules/ntos-only/cardmod.dm @@ -167,7 +167,7 @@ if("modify") if(computer && computer.card_slot) if(id_card) - data_core.manifest_modify(id_card.registered_name, id_card.assignment) + data_core.manifest_modify(id_card.registered_name, id_card.assignment, id_card.rank) computer.proc_eject_id(usr) . = TRUE if("terminate")