diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index c5fb2e259cf..d7ed1fefeea 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -7,6 +7,7 @@ spawn_positions = 1 supervisors = "Nanotrasen officials and Space law" selection_color = "#ccccff" + idtype = /obj/item/weapon/card/id/gold equip(var/mob/living/carbon/human/H) @@ -43,6 +44,7 @@ spawn_positions = 1 supervisors = "the captain" selection_color = "#ddddff" + idtype = /obj/item/weapon/card/id/silver equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index df37a83acd8..f01f05c2c59 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -7,6 +7,7 @@ spawn_positions = 1 supervisors = "the captain" selection_color = "#ffeeaa" + idtype = /obj/item/weapon/card/id/silver equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 217e5e7e087..07b1a4ee1a3 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -25,6 +25,9 @@ //Sellection screen color var/selection_color = "#ffffff" + //the type of the ID the player will have + var/idtype = /obj/item/weapon/card/id + //List of alternate titles, if any var/list/alt_titles diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 5a4220828dc..f96126e3e24 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -7,6 +7,7 @@ spawn_positions = 1 supervisors = "the captain" selection_color = "#ffddf0" + idtype = /obj/item/weapon/card/id/silver equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index d3eb18db922..243d9fee647 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -7,6 +7,7 @@ spawn_positions = 1 supervisors = "the captain" selection_color = "#ffddff" + idtype = /obj/item/weapon/card/id/silver equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 364508ee048..3bf370b7d56 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -7,6 +7,7 @@ spawn_positions = 1 supervisors = "the captain" selection_color = "#ffdddd" + idtype = /obj/item/weapon/card/id/silver equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 865baeee72d..7b9e21ab0ac 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -285,13 +285,20 @@ var/global/datum/controller/occupations/job_master if(!H) return 0 if(!title) title = rank var/obj/item/weapon/card/id/C = null - switch(rank) - if("Cyborg") + + var/datum/job/job = null + for(var/datum/job/J in occupations) + if(J.title == rank) + job = J + break + + if(job) + if(job.title == "Cyborg") return - if("Captain") - C = new /obj/item/weapon/card/id/gold(H) else - C = new /obj/item/weapon/card/id(H) + C = new job.idtype(H) + else + C = new /obj/item/weapon/card/id(H) if(C) C.registered_name = H.real_name C.assignment = title