From 774f85e5f0b0782f68281eca56e17f5f8a942ce1 Mon Sep 17 00:00:00 2001 From: BluBerry016 <50649185+unit0016@users.noreply.github.com> Date: Mon, 18 Jan 2021 17:50:38 -0500 Subject: [PATCH] [Semi-Modular] ID Card Modularization + Additions (#2688) * ID Card Module * QM Feex --- code/modules/jobs/access.dm | 2 + modular_skyrat/modules/card/access.dm | 23 ++++++++ modular_skyrat/modules/card/card.dm | 81 ++++++++++++++++++++++++++ modular_skyrat/modules/card/card.dmi | Bin 0 -> 22808 bytes tgstation.dme | 2 + 5 files changed, 108 insertions(+) create mode 100644 modular_skyrat/modules/card/access.dm create mode 100644 modular_skyrat/modules/card/card.dm create mode 100644 modular_skyrat/modules/card/card.dmi diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index 614110403a3..af3b6d39d7e 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -372,6 +372,7 @@ if(ACCESS_CENT_BAR) return "Code Scotch" +/*//SKYRAT EDIT - CARD - MOVED TO MODULAR /proc/get_all_jobs() return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Cook", "Botanist", "Quartermaster", "Cargo Technician", "Shaft Miner", "Clown", "Mime", "Janitor", "Curator", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer", @@ -383,6 +384,7 @@ /proc/get_all_centcom_jobs() return list("Central Command","VIP Guest","Custodian","Thunderdome Overseer","CentCom Official","Medical Officer","Research Officer","Special Ops Officer","Admiral","CentCom Commander","CentCom Bartender","Private Security Force") +*///Skyrat Edit End /obj/item/proc/GetJobName() //Used in secHUD icon generation var/obj/item/card/id/I = GetID() diff --git a/modular_skyrat/modules/card/access.dm b/modular_skyrat/modules/card/access.dm new file mode 100644 index 00000000000..ba108c28519 --- /dev/null +++ b/modular_skyrat/modules/card/access.dm @@ -0,0 +1,23 @@ +//moved from code/modules/jobs/access.dm +/proc/get_all_jobs() //All on-station jobs go here. + return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Cook", "Botanist", "Quartermaster", "Cargo Technician", + "Shaft Miner", "Clown", "Mime", "Janitor", "Curator", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer", + "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Paramedic", "Chemist", "Geneticist", "Virologist", "Psychologist", + "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer", "Prisoner", "Blueshield") + +/proc/get_all_job_icons() //For all existing HUD icons, Things a HoP or someone with an agent card might realistically apply, but not a real job. Also ghost role / event stuffs. + return get_all_jobs() + list("Emergency Response Team Commander", "Security Response Officer", "Engineering Response Officer", "Medical Response Officer", "Entertainment Response Officer", "Religious Response Officer", "Janitorial Response Officer", "Death Commando", + "Operative", "Tradepost Officer", "CentCom Psychologist", "Bluespace Tech", "Syndicate Overlord", "Syndicate Operative", "Syndicate Ship Captain", + "Charlie Station Security Officer", "Charlie Station Scientist", "Charlie Station Engineer", "Charlie Station Assistant", "Charlie Station Botanist", "Charlie Station Curator", "Charlie Station Lawyer", "Charlie Station Chaplain", "Charlie Station Bartender", "Charlie Station Cook", + "Charlie Station Janitor", "Charlie Station Clown", "Charlie Station Mime", "Charlie Station Quartermaster", "Charlie Station Cargo Technician", "Charlie Station Shaft Miner", "Charlie Station Atmospheric Technician", "Charlie Station Virologist", "Charlie Station Chemist", + "Charlie Station Paramedic", "Charlie Station Psychologist", "Charlie Station Medical Doctor", "Charlie Station Geneticist", "Charlie Station Roboticist", "Charlie Station Warden", "Charlie Station Detective", "Charlie Station Prisoner", "Charlie Station Head Of Security", + "Charlie Station Head Of Personnel", "Charlie Station Chief Engineer", "Charlie Station Research Director", "Charlie Station Chief Medical Officer", "Charlie Station Captain","CentCom Assistant","CentCom Botanist","CentCom Curator","CentCom Lawyer","CentCom Chaplain", + "CentCom Bartender","CentCom Cook","CentCom Janitor","CentCom Clown","CentCom Mime","CentCom Quartermaster","CentCom Cargo Technician","CentCom Shaft Miner","CentCom Atmospheric Technician","CentCom Station Engineer","CentCom Virologist","CentCom Chemist","CentCom Paramedic", + "CentCom Medical Doctor","CentCom Medical Doctor","CentCom Geneticist","CentCom Scientist","CentCom Roboticist","CentCom Warden","CentCom Detective","CentCom Security Officer","CentCom Prisoner","Admiral", "Protective Custody", "VIP Guest", "Custodian","Medical Officer", + "Research Officer","Special Ops Officer","Private Security Force","CentCom Commander","Service Guest","Guest Comedian","Private Trader","Independent Technician","Long Term Patient","Research Subject","Independent Researcher","Security Contractor", "DonkCo Diplomat", + "Cybersun Diplomat","Interdyne Chemist","Syndicate","Syndicate Prisoner","Nuclear Operative","Assault Operative","Lizard","Moth","Kobold","Cutie","Station Admiral","Corporate Liaison","Chief Engineering Officer","Chief Research Officer","Chief Master At Arms", + "Investigative Officer","Brig Officer","Master At Arms","Corporate Lawyer","Station Medical Officer","Bioweapons Technician","Engine Technicinan","Genetics Researcher","Researcher","Robotics Technician","Chef","Counsel","Sanitation Technician","Deck Officer", + "Deck Crewman") + +/proc/get_all_centcom_jobs() //Admin-only jobs or jobs that nobody would care if it was a generic nanotrasen logo. + return list("Central Command","Thunderdome Overseer","CentCom Official") diff --git a/modular_skyrat/modules/card/card.dm b/modular_skyrat/modules/card/card.dm new file mode 100644 index 00000000000..74ea8b478ea --- /dev/null +++ b/modular_skyrat/modules/card/card.dm @@ -0,0 +1,81 @@ +/obj/item/card + icon = 'modular_skyrat/modules/card/card.dmi' + +/obj/item/card/id/syndicate_command + uses_overlays = TRUE + +/obj/item/card/id/syndicate_command/crew_id + uses_overlays = TRUE + +/obj/item/card/id/syndicate_command/captain_id + uses_overlays = TRUE + +/obj/item/card/id/centcom + uses_overlays = TRUE + +/obj/item/card/id/ert + icon_state = "gold" + uses_overlays = TRUE + +/obj/item/card/id/ert/security + icon_state = "centcom" + uses_overlays = TRUE + +/obj/item/card/id/ert/engineer + icon_state = "centcom" + uses_overlays = TRUE + +/obj/item/card/id/ert/medical + icon_state = "centcom" + uses_overlays = TRUE + +/obj/item/card/id/ert/chaplain + icon_state = "centcom" + uses_overlays = TRUE + +/obj/item/card/id/ert/janitor + icon_state = "centcom" + uses_overlays = TRUE + +/obj/item/card/id/ert/clown + icon_state = "centcom" + uses_overlays = TRUE + +/obj/item/card/id/ert/deathsquad + icon_state = "syndie" + uses_overlays = TRUE + +/obj/item/card/id/debug + icon_state = "centcom" + uses_overlays = TRUE + +/obj/item/card/id/prisoner + icon_state = "orange" + uses_overlays = TRUE + +/obj/item/card/id/prisoner/one + uses_overlays = FALSE + +/obj/item/card/id/prisoner/two + uses_overlays = FALSE + +/obj/item/card/id/prisoner/three + uses_overlays = FALSE + +/obj/item/card/id/prisoner/four + uses_overlays = FALSE + +/obj/item/card/id/prisoner/five + uses_overlays = FALSE + +/obj/item/card/id/prisoner/six + uses_overlays = FALSE + +/obj/item/card/id/prisoner/seven + uses_overlays = FALSE + +/obj/item/card/id/away + uses_overlays = TRUE + +/obj/item/card/id/debug/bst + icon_state = "bluespacetech" diff --git a/modular_skyrat/modules/card/card.dmi b/modular_skyrat/modules/card/card.dmi new file mode 100644 index 0000000000000000000000000000000000000000..b0072039d78ee7371580ede49faa7b835b77e390 GIT binary patch literal 22808 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 UYn`QF;xV+(=D^R)-EPtU1bsZmhX4Qo literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index b0b4d276d0f..227e91d1fba 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3438,6 +3438,8 @@ #include "modular_skyrat\modules\blueshield\code\modules\clothing\under\jobs\Plasmaman\security.dm" #include "modular_skyrat\modules\blueshield\code\modules\jobs\job_types\blueshield.dm" #include "modular_skyrat\modules\blueshield\code\modules\projectiles\guns\energy\special.dm" +#include "modular_skyrat\modules\card\access.dm" +#include "modular_skyrat\modules\card\card.dm" #include "modular_skyrat\modules\cargo\code\bloat.dm" #include "modular_skyrat\modules\cargo\code\goodies.dm" #include "modular_skyrat\modules\cargo\code\packs.dm"