Proper custom job name support (#62803)

* Makes PDA crew manifest and crew monitoring computer respect trims for ordering and sorting

* Fix static typecheck issue

* Added initial rank tracking for IC command
This commit is contained in:
Tastyfish
2021-11-18 21:25:55 +01:00
committed by GitHub
parent 203503a96e
commit 15d38dc4bf
8 changed files with 33 additions and 24 deletions
+1 -1
View File
@@ -120,7 +120,7 @@ GLOBAL_DATUM(everyone_a_traitor, /datum/everyone_is_a_traitor_controller)
var/dat = "<B>Showing Crew Manifest.</B><HR>"
dat += "<table cellspacing=5><tr><th>Name</th><th>Position</th></tr>"
for(var/datum/data/record/t in GLOB.data_core.general)
dat += "<tr><td>[t.fields["name"]]</td><td>[t.fields["rank"]]</td></tr>"
dat += "<tr><td>[t.fields["name"]]</td><td>[t.fields["rank"]][t.fields["rank"] != t.fields["trim"] ? " ([t.fields["trim"]])" : ""]</td></tr>"
dat += "</table>"
holder << browse(dat, "window=manifest;size=440x410")
if("dna")
+1 -15
View File
@@ -111,21 +111,7 @@
if(!id_card)
return "hudno_id"
var/card_assignment
if(istype(id_card, /obj/item/card/id/advanced))
var/obj/item/card/id/advanced/advanced_id_card = id_card
if(advanced_id_card.trim_assignment_override)
card_assignment = advanced_id_card.trim_assignment_override
else if(ispath(advanced_id_card.trim))
var/datum/id_trim/trim = SSid_access.trim_singletons_by_path[advanced_id_card.trim]
card_assignment = trim.assignment
else
card_assignment = advanced_id_card.trim?.assignment
else
card_assignment = id_card.trim?.assignment
if(!card_assignment)
card_assignment = id_card.assignment
var/card_assignment = id_card.get_trim_assignment()
// Is this one of the jobs with dedicated HUD icons?
if(card_assignment in SSjob.station_jobs)
@@ -144,7 +144,7 @@
if(!computer || !card_slot2)
return TRUE
if(target_id_card)
GLOB.data_core.manifest_modify(target_id_card.registered_name, target_id_card.assignment)
GLOB.data_core.manifest_modify(target_id_card.registered_name, target_id_card.assignment, target_id_card.get_trim_assignment())
return card_slot2.try_eject(user)
else
var/obj/item/I = user.get_active_held_item()
@@ -85,7 +85,7 @@
if(!computer || !card_slot)
return
if(id_card)
GLOB.data_core.manifest_modify(id_card.registered_name, id_card.assignment)
GLOB.data_core.manifest_modify(id_card.registered_name, id_card.assignment, id_card.get_trim_assignment())
card_slot.try_eject(current_user)
else
playsound(get_turf(ui_host()) , 'sound/machines/buzz-sigh.ogg', 25, FALSE)