diff --git a/code/game/objects/items/weapons/id cards/station_ids_vr.dm b/code/game/objects/items/weapons/id cards/station_ids_vr.dm index 4cb6c565ac..0a9015145a 100644 --- a/code/game/objects/items/weapons/id cards/station_ids_vr.dm +++ b/code/game/objects/items/weapons/id cards/station_ids_vr.dm @@ -5,7 +5,7 @@ var/list/title_strings = list() var/preset_rank = FALSE -/obj/item/weapon/card/id/event/attack_self(mob/user as mob) +/obj/item/weapon/card/id/event/attack_self(var/mob/user) if(configured == 1) return ..() @@ -28,10 +28,12 @@ configured = 1 to_chat(user, "Card settings set.") -/obj/item/weapon/card/id/event/attackby(obj/item/I as obj, mob/user as mob) +/obj/item/weapon/card/id/event/attackby(obj/item/I as obj, var/mob/user) if(istype(I, /obj/item/weapon/card/id) && !accessset) var/obj/item/weapon/card/id/O = I access |= O.access + desc = I.desc + rank = O.rank to_chat(user, "You copy the access from \the [I] to \the [src].") user.drop_from_inventory(I) qdel(I) @@ -52,31 +54,24 @@ icon = 'icons/obj/card_vr.dmi' base_icon = 'icons/obj/card_vr.dmi' icon_state = "itg" - item_state = "itg_id" /obj/item/weapon/card/id/event/accessset/itg/green icon_state = "itg_green" - item_state = "itg_green_id" /obj/item/weapon/card/id/event/accessset/itg/red icon_state = "itg_red" - item_state = "itg_red_id" /obj/item/weapon/card/id/event/accessset/itg/purple icon_state = "itg_purple" - item_state = "itg_purple_id" /obj/item/weapon/card/id/event/accessset/itg/white icon_state = "itg_white" - item_state = "itg_white_id" /obj/item/weapon/card/id/event/accessset/itg/orange icon_state = "itg_orange" - item_state = "itg_orange_id" /obj/item/weapon/card/id/event/accessset/itg/blue icon_state = "itg_blue" - item_state = "itg_blue_id" /obj/item/weapon/card/id/event/accessset/itg/crew name = "\improper ITG Crew ID" @@ -97,7 +92,6 @@ assignment = "Cook" rank = "Cook" icon_state = "itg_green" - item_state = "itg_green_id" /obj/item/weapon/card/id/event/accessset/itg/crew/security name = "\improper ITG Security's ID" @@ -105,7 +99,6 @@ assignment = "Security" rank = "Security" icon_state = "itg_red" - item_state = "itg_red_id" /obj/item/weapon/card/id/event/accessset/itg/crew/research name = "\improper ITG Research's ID" @@ -113,7 +106,6 @@ assignment = "Research" rank = "Research" icon_state = "itg_purple" - item_state = "itg_purple_id" /obj/item/weapon/card/id/event/accessset/itg/crew/medical name = "\improper ITG Medic's ID" @@ -121,7 +113,6 @@ assignment = "Medic" rank = "Medic" icon_state = "itg_white" - item_state = "itg_white_id" /obj/item/weapon/card/id/event/accessset/itg/crew/engineer name = "\improper ITG Engineer's ID" @@ -129,7 +120,6 @@ assignment = "Engineer" rank = "Engineer" icon_state = "itg_orange" - item_state = "itg_orange_id" /obj/item/weapon/card/id/event/accessset/itg/crew/passengerliason name = "\improper ITG Passenger Liason's ID" @@ -137,7 +127,6 @@ assignment = "Passenger Liason" rank = "Passenger Liason" icon_state = "itg_blue" - item_state = "itg_blue_id" /obj/item/weapon/card/id/event/accessset/itg/crew/captain name = "\improper ITG Captain's ID" @@ -145,132 +134,140 @@ assignment = "Captain" rank = "Captain" icon_state = "itg_blue" - item_state = "itg_blue_id" access = list(777, 778) /obj/item/weapon/card/id/event/altcard icon = 'icons/obj/card_alt_vr.dmi' base_icon = 'icons/obj/card_alt_vr.dmi' icon_state = "id" - item_state = "id_id" -/obj/item/weapon/card/id/event/altcard/hop - icon_state = "silver" - item_state = "silver_id" - -/obj/item/weapon/card/id/event/altcard/cap - icon_state = "cap" - item_state = "cap_id" - -/obj/item/weapon/card/id/event/altcard/centcom - icon_state = "centcom" - item_state = "centcom_id" - -/obj/item/weapon/card/id/event/altcard/cargo - icon_state = "cargo" - item_state = "cargo_id" - -/obj/item/weapon/card/id/event/altcard/qm - icon_state = "cargoGold" - item_state = "cargoGold_id" - -/obj/item/weapon/card/id/event/altcard/miner - icon_state = "miner" - item_state = "miner_id" - -/obj/item/weapon/card/id/event/altcard/sci - icon_state = "sci" - item_state = "sci_id" - -/obj/item/weapon/card/id/event/altcard/rd - icon_state = "sciGold" - item_state = "sciGold_id" - -/obj/item/weapon/card/id/event/altcard/sec - icon_state = "sec" - item_state = "sec_id" - -/obj/item/weapon/card/id/event/altcard/hos - icon_state = "secGold" - item_state = "secGold_id" - -/obj/item/weapon/card/id/event/altcard/warden - icon_state = "warden" - item_state = "warden_id" - -/obj/item/weapon/card/id/event/altcard/eng - icon_state = "eng" - item_state = "eng_id" - -/obj/item/weapon/card/id/event/altcard/ce - icon_state = "engGold" - item_state = "engGold_id" - -/obj/item/weapon/card/id/event/altcard/atmos - icon_state = "atmos" - item_state = "atmos_id" - -/obj/item/weapon/card/id/event/altcard/med - icon_state = "med" - item_state = "med_id" - -/obj/item/weapon/card/id/event/altcard/cmo - icon_state = "medGold" - item_state = "medGold_id" - -/obj/item/weapon/card/id/event/altcard/paramed - icon_state = "paramed" - item_state = "paramed_id" +/obj/item/weapon/card/id/event/altcard/spare + icon_state = "spare" /obj/item/weapon/card/id/event/altcard/clown - icon_state = "clown" - item_state = "clown_id" + icon_state = "Clown" /obj/item/weapon/card/id/event/altcard/mime - icon_state = "mime" - item_state = "mime_id" + icon_state = "Mime" -/obj/item/weapon/card/id/event/altcard/syndie - icon_state = "syndie" - item_state = "syndie_id" +/obj/item/weapon/card/id/event/altcard/centcom + icon_state = "CentCom Officer" + +/obj/item/weapon/card/id/event/altcard/ert + icon_state = "Emergency Responder" + +/obj/item/weapon/card/id/event/altcard/nt + icon_state = "nanotrasen" /obj/item/weapon/card/id/event/altcard/syndiegold icon_state = "syndieGold" - item_state = "syndieGold_id" -/obj/item/weapon/card/id/event/altcard/green - icon_state = "green" - item_state = "green_id" +/obj/item/weapon/card/id/event/altcard/syndie + icon_state = "syndie" /obj/item/weapon/card/id/event/altcard/greengold icon_state = "greenGold" - item_state = "greenGold_id" - -/obj/item/weapon/card/id/event/altcard/explo - icon_state = "explo" - item_state = "explo_id" - -/obj/item/weapon/card/id/event/altcard/pf - icon_state = "exploGold" - item_state = "exploGold_id" - -/obj/item/weapon/card/id/event/altcard/fm - icon_state = "fieldmed" - item_state = "fieldmed_id" - -/obj/item/weapon/card/id/event/altcard/chaplain - icon_state = "chaplain" - item_state = "chaplain_id" - -/obj/item/weapon/card/id/event/altcard/nanotrasen - icon_state = "nanotrasen" - item_state = "nanotrasen_id" /obj/item/weapon/card/id/event/altcard/pink icon_state = "pink" - item_state = "pink_id" /obj/item/weapon/card/id/event/altcard/pinkgold icon_state = "pinkGold" - item_state = "pinkGold_id" +/obj/item/weapon/card/id/event/polymorphic + var/base_icon_state + +/obj/item/weapon/card/id/event/polymorphic/digest_act(atom/movable/item_storage = null) + var/gimmeicon = icon + . = ..() + icon = gimmeicon + icon_state = base_icon_state + "_digested" + +/obj/item/weapon/card/id/event/polymorphic/altcard/attack_self(var/mob/user) + if(configured == 1) + return ..() + else + icon_state = user.job + base_icon_state = user.job + return ..() + +/obj/item/weapon/card/id/event/polymorphic/altcard + icon = 'icons/obj/card_alt_vr.dmi' + base_icon = 'icons/obj/card_alt_vr.dmi' + icon_state = "blank" + name = "contractor identification card" + desc = "An ID card typically used by contractors." + +/obj/item/weapon/card/id/event/polymorphic/itg/attack_self(var/mob/user) + if(!configured) + var/list/jobs_to_icon = list( //ITG only has a few kinds of icons so we have to group them up! + "Pilot" = "itg", + "Visitor" = "itg", + "Quartermaster" = "itg", + "Cargo Technician" = "itg", + "Shaft Miner" = "itg", + "Intern" = "itg", + "Talon Pilot" = "itg", + "Bartender" = "itg_green", + "Botanist" = "itg_green", + "Chef" = "itg_green", + "Janitor" = "itg_green", + "Chaplain" = "itg_green", + "Entertainer" = "itg_green", + "Janitor" = "itg_green", + "Librarian" = "itg_green", + "Warden" = "itg_red", + "Detective" = "itg_red", + "Security Officer" = "itg_red", + "Talon Guard" = "itg_red", + "Roboticist" = "itg_purple", + "Scientist" = "itg_purple", + "Xenobiologist" = "itg_purple", + "Xenobotanist" = "itg_purple", + "Pathfinder" = "itg_purple", + "Explorer" = "itg_purple", + "Chemist" = "itg_white", + "Medical Doctor" = "itg_white", + "Paramedic" = "itg_white", + "Psychiatrist" = "itg_white", + "Field Medic" = "itg_white", + "Talon Doctor" = "itg_white", + "Atmospheric Technician" = "itg_orange", + "Station Engineer" = "itg_orange", + "Off-duty Officer" = "itg_red", + "Off-duty Engineer" = "itg_orange", + "Off-duty Medic" = "itg_white", + "Off-duty Scientist" = "itg_purple", + "Off-duty Cargo" = "itg", + "Off-duty Explorer" = "itg_purple", + "Off-duty Worker" = "itg_green" + ) + var/guess = jobs_to_icon[user.job] + + if(!guess) + to_chat(user, "ITG Cards do not seem to be able to accept the access codes for your ID.") + return + else + icon_state = guess + base_icon_state = guess + . = ..() + name = user.name + "'s ITG ID card" + " ([assignment])" + + +/obj/item/weapon/card/id/event/polymorphic/itg/attackby(obj/item/I as obj, var/mob/user) + if(istype(I, /obj/item/weapon/card/id) && !accessset) + var/obj/item/weapon/card/id/O = I + var/list/itgdont = list("Site Manager", "Head of Personnel", "Command Secretary", "Head of Security", "Chief Engineer", "Chief Medical Officer", "Research Director", "Clown", "Mime", "Talon Captain") //If you're in as one of these you probably aren't representing ITG + if(O.rank in itgdont) + to_chat(user, "ITG Cards do not seem to be able to accept the access codes for your ID.") + return + . = ..() + desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use." + + +/obj/item/weapon/card/id/event/polymorphic/itg + icon = 'icons/obj/card_vr.dmi' + base_icon = 'icons/obj/card_vr.dmi' + icon_state = "itg" + name = "\improper ITG identification card" + desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use." diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm index 4835fa92cf..c28cb0f718 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm @@ -1079,7 +1079,7 @@ character_name = list("Roanna Ti'Rox") /datum/gear/fluff/harmony_id - path = /obj/item/weapon/card/id/event/fluff/harmony + path = /obj/item/weapon/card/id/event/polymorphic/itg display_name = "Harmony's ITG-ID card" ckeywhitelist = list("verysoft") character_name = list("Harmony") diff --git a/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm b/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm index 1e638aa039..36b3ead7a6 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm @@ -55,3 +55,8 @@ display_name = "science dufflebag" path = /obj/item/weapon/storage/backpack/dufflebag/sci allowed_roles = list("Research Director","Scientist","Roboticist","Xenobiologist","Xenobotanist","Explorer","Pathfinder") + +/datum/gear/utility/ID + display_name = "contractor identification card" + path = /obj/item/weapon/card/id/event/polymorphic/altcard + cost = 1 diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 4c62ff4095..89d8e3ed1a 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -799,16 +799,6 @@ desc = "A primarily blue ID with a holographic 'WAH' etched onto its back. The letters do not obscure anything important on the card. It is shiny and it feels very bumpy." title_strings = list("Amaya Rahl's Wah-identification card", "Amaya Rahl's Wah-ID card") -//verysoft:Harmony - Custom ID (pilot) -/obj/item/weapon/card/id/event/fluff/harmony - registered_name = "CONFIGURE ME" - assignment = "CONFIGURE ME" - icon = 'icons/obj/card_vr.dmi' - base_icon = 'icons/obj/card_vr.dmi' - icon_state = "itg" - desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use." - title_strings = list("Harmony's ITG-ID card") - //General use, Verk felt like sharing. /obj/item/clothing/glasses/fluff/science_proper name = "Aesthetic Science Goggles" diff --git a/icons/obj/card_alt_vr.dmi b/icons/obj/card_alt_vr.dmi index 3f9a1404a2..a82caf9bc4 100644 Binary files a/icons/obj/card_alt_vr.dmi and b/icons/obj/card_alt_vr.dmi differ