diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 347474f39d5..19535a67921 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -7,7 +7,7 @@ manifest_inject(H) return -/obj/effect/datacore/proc/manifest_modify(var/name, var/assignment) +/obj/effect/datacore/proc/manifest_modify(var/name, var/assignment, var/alt_title = null) var/datum/data/record/foundrecord for(var/datum/data/record/t in data_core.general) @@ -17,6 +17,10 @@ if(foundrecord) foundrecord.fields["rank"] = assignment + if(alt_title) + foundrecord.fields["real_rank"] = alt_title + else + foundrecord.fields["real_rank"] = assignment @@ -36,12 +40,14 @@ var/datum/data/record/G = new() G.fields["id"] = id G.fields["name"] = H.real_name + G.fields["real_rank"] = H.mind.assigned_role G.fields["rank"] = assignment G.fields["age"] = H.age G.fields["fingerprint"] = md5(H.dna.uni_identity) G.fields["p_stat"] = "Active" G.fields["m_stat"] = "Stable" G.fields["sex"] = H.gender + G.fields["species"] = H.get_species() general += G //Medical Record diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 24a377ca6e7..6e939818e47 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -539,6 +539,7 @@ slot_flags = SLOT_ID var/assignment = null + var/assignment_real_title = null var/dorm = 0 // determines if this ID has claimed a dorm already /obj/item/weapon/card/id/silver diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index f8ee683d444..af6ab9ebc3c 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -493,14 +493,17 @@ return var/jobName + var/realJobName if(istype(src, /obj/item/device/pda)) if(src:id) jobName = src:id:assignment + realJobName = src:id:assignment_real_title if(istype(src, /obj/item/weapon/card/id)) jobName = src:assignment + realJobName = src:id:assignment_real_title - if(jobName in get_all_jobs()) + if(realJobName in get_all_jobs()) return jobName - else - return "Unknown" + + return "Unknown" diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index d74f398706b..e099e99dfb9 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -384,11 +384,13 @@ What a mess.*/ G.fields["name"] = "New Record" G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6)) G.fields["rank"] = "Unassigned" + G.fields["real_rank"] = "Unassigned" G.fields["sex"] = "Male" G.fields["age"] = "Unknown" G.fields["fingerprint"] = "Unknown" G.fields["p_stat"] = "Active" G.fields["m_stat"] = "Stable" + G.fields["species"] = "Human" data_core.general += G active1 = G active2 = null @@ -479,6 +481,13 @@ What a mess.*/ temp += "" else alert(usr, "You do not have the required rank to do this!") + if("species") + if (istype(active1, /datum/data/record)) + var/t1 = copytext(sanitize(input("Please enter race:", "General records", active1.fields["species"], null) as message),1,MAX_MESSAGE_LEN) + if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) + return + active1.fields["species"] = t1 + //TEMPORARY MENU FUNCTIONS else//To properly clear as per clear screen. temp=null