mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
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:
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user