diff --git a/code/datums/outfits/jobs/cargo.dm b/code/datums/outfits/jobs/cargo.dm
index 1b48efcb9d2..e7b8701a373 100644
--- a/code/datums/outfits/jobs/cargo.dm
+++ b/code/datums/outfits/jobs/cargo.dm
@@ -24,7 +24,7 @@
l_ear = /obj/item/device/radio/headset/headset_mine
backpack = /obj/item/weapon/storage/backpack/industrial
satchel_one = /obj/item/weapon/storage/backpack/satchel/eng
- id_type = /obj/item/weapon/card/id/cargo
+ id_type = /obj/item/weapon/card/id/cargo/miner
pda_type = /obj/item/device/pda/shaftminer
backpack_contents = list(/obj/item/weapon/tool/crowbar = 1, /obj/item/weapon/storage/bag/ore = 1)
flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL
diff --git a/code/datums/outfits/jobs/civilian.dm b/code/datums/outfits/jobs/civilian.dm
index c8d588a145d..7d7d86fedc2 100644
--- a/code/datums/outfits/jobs/civilian.dm
+++ b/code/datums/outfits/jobs/civilian.dm
@@ -25,7 +25,7 @@
/decl/hierarchy/outfit/job/service/bartender
name = OUTFIT_JOB_NAME("Bartender")
uniform = /obj/item/clothing/under/rank/bartender
- id_type = /obj/item/weapon/card/id/civilian
+ id_type = /obj/item/weapon/card/id/civilian/bartender
pda_type = /obj/item/device/pda/bar
backpack_contents = list(/obj/item/clothing/accessory/permit/gun/bar = 1)
@@ -44,7 +44,7 @@
uniform = /obj/item/clothing/under/rank/chef
suit = /obj/item/clothing/suit/chef
head = /obj/item/clothing/head/chefhat
- id_type = /obj/item/weapon/card/id/civilian
+ id_type = /obj/item/weapon/card/id/civilian/chef
pda_type = /obj/item/device/pda/chef
/decl/hierarchy/outfit/job/service/chef/cook
@@ -68,13 +68,13 @@
backpack = /obj/item/weapon/storage/backpack/hydroponics
satchel_one = /obj/item/weapon/storage/backpack/satchel/hyd
messenger_bag = /obj/item/weapon/storage/backpack/messenger/hyd
- id_type = /obj/item/weapon/card/id/civilian
+ id_type = /obj/item/weapon/card/id/civilian/botanist
pda_type = /obj/item/device/pda/botanist
/decl/hierarchy/outfit/job/service/janitor
name = OUTFIT_JOB_NAME("Janitor")
uniform = /obj/item/clothing/under/rank/janitor
- id_type = /obj/item/weapon/card/id/civilian
+ id_type = /obj/item/weapon/card/id/civilian/janitor
pda_type = /obj/item/device/pda/janitor
/decl/hierarchy/outfit/job/librarian
@@ -84,6 +84,9 @@
id_type = /obj/item/weapon/card/id/civilian
pda_type = /obj/item/device/pda/librarian
+/decl/hierarchy/outfit/job/librarian/journalist
+ id_type = /obj/item/weapon/card/id/civilian/journalist
+
/decl/hierarchy/outfit/job/internal_affairs_agent
name = OUTFIT_JOB_NAME("Internal affairs agent")
l_ear = /obj/item/device/radio/headset/ia
@@ -92,14 +95,14 @@
shoes = /obj/item/clothing/shoes/brown
glasses = /obj/item/clothing/glasses/sunglasses/big
l_hand = /obj/item/weapon/clipboard
- id_type = /obj/item/weapon/card/id/civilian
+ id_type = /obj/item/weapon/card/id/civilian/internal_affairs
pda_type = /obj/item/device/pda/lawyer
/decl/hierarchy/outfit/job/chaplain
name = OUTFIT_JOB_NAME("Chaplain")
uniform = /obj/item/clothing/under/rank/chaplain
l_hand = /obj/item/weapon/storage/bible
- id_type = /obj/item/weapon/card/id/civilian
+ id_type = /obj/item/weapon/card/id/civilian/chaplain
pda_type = /obj/item/device/pda/chaplain
/decl/hierarchy/outfit/job/explorer
@@ -111,7 +114,7 @@
gloves = /obj/item/clothing/gloves/black
l_ear = /obj/item/device/radio/headset
id_slot = slot_wear_id
- id_type = /obj/item/weapon/card/id/civilian
+ id_type = /obj/item/weapon/card/id/science/explorer
pda_slot = slot_belt
pda_type = /obj/item/device/pda/cargo // Brown looks more rugged
r_pocket = /obj/item/device/gps/explorer
diff --git a/code/datums/outfits/jobs/engineering.dm b/code/datums/outfits/jobs/engineering.dm
index 3da60103c20..a2aba61a969 100644
--- a/code/datums/outfits/jobs/engineering.dm
+++ b/code/datums/outfits/jobs/engineering.dm
@@ -30,5 +30,5 @@
name = OUTFIT_JOB_NAME("Atmospheric technician")
uniform = /obj/item/clothing/under/rank/atmospheric_technician
belt = /obj/item/weapon/storage/belt/utility/atmostech
- id_type = /obj/item/weapon/card/id/engineering
+ id_type = /obj/item/weapon/card/id/engineering/atmos
pda_type = /obj/item/device/pda/atmos
diff --git a/code/datums/outfits/jobs/medical.dm b/code/datums/outfits/jobs/medical.dm
index ae996b2f081..6622d3b285b 100644
--- a/code/datums/outfits/jobs/medical.dm
+++ b/code/datums/outfits/jobs/medical.dm
@@ -65,7 +65,7 @@
suit = /obj/item/clothing/suit/storage/toggle/labcoat/chemist
backpack = /obj/item/weapon/storage/backpack/chemistry
satchel_one = /obj/item/weapon/storage/backpack/satchel/chem
- id_type = /obj/item/weapon/card/id/medical
+ id_type = /obj/item/weapon/card/id/medical/chemist
pda_type = /obj/item/device/pda/chemist
/decl/hierarchy/outfit/job/medical/geneticist
@@ -75,7 +75,7 @@
backpack = /obj/item/weapon/storage/backpack/genetics
r_pocket = /obj/item/device/flashlight/pen
satchel_one = /obj/item/weapon/storage/backpack/satchel/gen
- id_type = /obj/item/weapon/card/id/medical
+ id_type = /obj/item/weapon/card/id/medical/geneticist
pda_type = /obj/item/device/pda/geneticist
/decl/hierarchy/outfit/job/medical/psychiatrist
@@ -83,7 +83,7 @@
uniform = /obj/item/clothing/under/rank/psych
suit = /obj/item/clothing/suit/storage/toggle/labcoat
shoes = /obj/item/clothing/shoes/laceup
- id_type = /obj/item/weapon/card/id/medical
+ id_type = /obj/item/weapon/card/id/medical/psych
/decl/hierarchy/outfit/job/medical/psychiatrist/psychologist
name = OUTFIT_JOB_NAME("Psychologist")
@@ -97,7 +97,7 @@
l_hand = /obj/item/weapon/storage/firstaid/regular
belt = /obj/item/weapon/storage/belt/medical/emt
pda_slot = slot_l_store
- id_type = /obj/item/weapon/card/id/medical
+ id_type = /obj/item/weapon/card/id/medical/emt
flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL
/decl/hierarchy/outfit/job/medical/paramedic/emt
diff --git a/code/datums/outfits/jobs/security.dm b/code/datums/outfits/jobs/security.dm
index 8260d346b7d..9441a06da02 100644
--- a/code/datums/outfits/jobs/security.dm
+++ b/code/datums/outfits/jobs/security.dm
@@ -20,7 +20,7 @@
name = OUTFIT_JOB_NAME("Warden")
uniform = /obj/item/clothing/under/rank/warden
l_pocket = /obj/item/device/flash
- id_type = /obj/item/weapon/card/id/security
+ id_type = /obj/item/weapon/card/id/security/warden
pda_type = /obj/item/device/pda/warden
/decl/hierarchy/outfit/job/security/detective
@@ -31,7 +31,7 @@
l_pocket = /obj/item/weapon/flame/lighter/zippo
shoes = /obj/item/clothing/shoes/laceup
r_hand = /obj/item/weapon/storage/briefcase/crimekit
- id_type = /obj/item/weapon/card/id/security
+ id_type = /obj/item/weapon/card/id/security/detective
pda_type = /obj/item/device/pda/detective
backpack = /obj/item/weapon/storage/backpack
satchel_one = /obj/item/weapon/storage/backpack/satchel/norm
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index 7acd36524ba..febbd265b29 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -205,6 +205,7 @@
// Librarian Alt Titles
/datum/alt_title/journalist
title = "Journalist"
+ title_outfit = /decl/hierarchy/outfit/job/librarian/journalist
title_blurb = "The Journalist uses the Library as a base of operations, from which they can report the news and goings-on on the station with their camera."
/datum/alt_title/writer
diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm
index 20fd6991a01..29925b20597 100644
--- a/code/game/machinery/computer/guestpass.dm
+++ b/code/game/machinery/computer/guestpass.dm
@@ -41,7 +41,7 @@
/obj/item/weapon/card/id/guest/attack_self(mob/living/user as mob)
if(user.a_intent == I_HURT)
- if(icon_state == "guest_invalid")
+ if(icon_state == "guest-invalid")
to_chat(user, "This guest pass is already deactivated!")
return
@@ -49,7 +49,8 @@
if(confirm == "Yes")
//rip guest pass 3
user.visible_message("\The [user] deactivates \the [src].")
- icon_state = "guest_invalid"
+ icon_state = "guest-invalid"
+ update_icon()
expiration_time = world.time
expired = 1
return ..()
@@ -66,7 +67,8 @@
/obj/item/weapon/card/id/guest/process()
if(expired == 0 && world.time >= expiration_time)
visible_message("\The [src] flashes a few times before turning red.")
- icon_state = "guest_invalid"
+ icon_state = "guest-invalid"
+ update_icon()
expired = 1
world.time = expiration_time
return
diff --git a/code/game/objects/items/weapons/id cards/cards.dm b/code/game/objects/items/weapons/id cards/cards.dm
index fa56f6ccc10..649d9a3a34c 100644
--- a/code/game/objects/items/weapons/id cards/cards.dm
+++ b/code/game/objects/items/weapons/id cards/cards.dm
@@ -13,19 +13,48 @@
*/
/obj/item/weapon/card
name = "card"
- desc = "Does card things."
- icon = 'icons/obj/card.dmi'
+ desc = "A tiny plaque of plastic. Does card things."
+ icon = 'icons/obj/card_new.dmi'
w_class = ITEMSIZE_TINY
slot_flags = SLOT_EARS
var/associated_account_number = 0
+ var/list/initial_sprite_stack = list("")
+ var/base_icon = "icons/obj/card_new.dmi"
+ var/list/sprite_stack
+
var/list/files = list( )
drop_sound = 'sound/items/drop/card.ogg'
pickup_sound = 'sound/items/pickup/card.ogg'
+/obj/item/weapon/card/New()
+ . = ..()
+ reset_icon()
+
+/obj/item/weapon/card/proc/reset_icon()
+ sprite_stack = initial_sprite_stack
+ update_icon()
+
+/obj/item/weapon/card/update_icon()
+ if(!sprite_stack || !istype(sprite_stack) || sprite_stack == list(""))
+ icon = base_icon
+ icon_state = initial(icon_state)
+
+ var/icon/I = null
+ for(var/iconstate in sprite_stack)
+ if(!iconstate)
+ iconstate = icon_state
+ if(I)
+ var/icon/IC = new(base_icon, iconstate)
+ I.Blend(IC, ICON_OVERLAY)
+ else
+ I = new/icon(base_icon, iconstate)
+ if(I)
+ icon = I
+
/obj/item/weapon/card/data
- name = "data disk"
- desc = "A disk of data."
+ name = "data card"
+ desc = "A solid-state storage card, used to back up or transfer information. What knowledge could it contain?"
icon_state = "data"
var/function = "storage"
var/data = "null"
@@ -35,20 +64,20 @@
pickup_sound = 'sound/items/pickup/disk.ogg'
/obj/item/weapon/card/data/verb/label(t as text)
- set name = "Label Disk"
+ set name = "Label Card"
set category = "Object"
set src in usr
if (t)
- src.name = text("data disk- '[]'", t)
+ src.name = text("data card- '[]'", t)
else
- src.name = "data disk"
+ src.name = "data card"
src.add_fingerprint(usr)
return
/obj/item/weapon/card/data/clown
name = "\proper the coordinates to clown planet"
- icon_state = "data"
+ icon_state = "rainbow"
item_state = "card-id"
level = 2
desc = "This card contains coordinates to the fabled Clown Planet. Handle with care."
@@ -62,7 +91,7 @@
/obj/item/weapon/card/emag_broken
desc = "It's a card with a magnetic strip attached to some circuitry. It looks too busted to be used for anything but salvage."
name = "broken cryptographic sequencer"
- icon_state = "emag"
+ icon_state = "emag-spent"
item_state = "card-id"
origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2)
diff --git a/code/game/objects/items/weapons/id cards/id_stacks.dm b/code/game/objects/items/weapons/id cards/id_stacks.dm
new file mode 100644
index 00000000000..c073f6cba3f
--- /dev/null
+++ b/code/game/objects/items/weapons/id cards/id_stacks.dm
@@ -0,0 +1,96 @@
+// This is a defines file for card sprite stacks. If a new card set comes in, this file can just be disabled and a new one made to match the new sprites.
+// Generally, if the icon file is card_xxx.dmi, this filename should be sprite_stacks_xxx.dm
+// Please make sure that only the relevant sprite_stacks_xxx.file is included, if more are made.
+
+/obj/item/weapon/card
+ icon = 'icons/obj/card_new.dmi' // These are redefined here so that changing sprites is as easy as clicking the checkbox.
+ base_icon = "icons/obj/card_new.dmi"
+
+ // New sprite stacks can be defined here. You could theoretically change icon-states as well but right now this file compiles before station_ids.dm so those wouldn't be affected.
+ id
+ generic
+ initial_sprite_stack = list("base-stamp", "top-generic", "stamp-silhouette", "clip")
+ centcom
+ initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "pips-gold")
+ vip
+ initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n", "pips-gold")
+ ERT
+ initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "pips-red", "stripe-red")
+ silver
+ initial_sprite_stack = list("base-stamp-silver", "top-mime", "stamp-n-generic")
+ secretary
+ initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n")
+ hop
+ initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "stripe-white")
+ medical
+ initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n")
+ chemist
+ initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-orange")
+ geneticist
+ initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-purple")
+ psych
+ initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-purple")
+ emt
+ initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-blue")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-medblu", "stamp-n", "stripe-gold")
+ sar
+ initial_sprite_stack = list("base-stamp", "top-darkgreen", "stamp-n", "pips-medblu")
+ security
+ initial_sprite_stack = list("base-stamp", "top-red", "stamp-n")
+ detective
+ initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "pips-brown")
+ warden
+ initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "pips-white")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-red", "stamp-n", "stripe-gold")
+ engineering
+ initial_sprite_stack = list("base-stamp", "top-orange", "stamp-n")
+ atmos
+ initial_sprite_stack = list("base-stamp", "top-orange", "pips-medblu", "stamp-n")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-orange", "stamp-n", "stripe-gold")
+ science
+ initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n")
+ roboticist
+ initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "pips-orange")
+ explorer
+ initial_sprite_stack = list("base-stamp", "top-darkgreen", "stamp-n")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-purple", "stamp-n", "stripe-gold")
+ pathfinder
+ initial_sprite_stack = list("base-stamp-silver", "top-darkgreen", "stamp-n", "pips-purple") //not a true head, no gold stripe for you
+ cargo
+ initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n")
+ miner
+ initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n", "pips-purple")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-brown", "stamp-n", "pips-gold")
+ civilian
+ initial_sprite_stack = list("base-stamp", "top-green", "stamp-n")
+ chaplain
+ initial_sprite_stack = list("base-stamp-silver", "top-dark", "stamp-cross", "pips-white")
+ internal_affairs
+ initial_sprite_stack = list("base-stamp", "top-green", "stamp-n")
+ botanist
+ initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-brown")
+ bartender
+ initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-dark")
+ chef
+ initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-white")
+ janitor
+ initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-purple")
+ journalist
+ initial_sprite_stack = list("base-stamp", "top-green", "stamp-n")
+ clown
+ initial_sprite_stack = list("base-stamp", "top-rainbow", "stamp-n")
+ mime
+ initial_sprite_stack = list("base-stamp", "top-white", "stamp-n", "stripe-black")
+ pilot
+ initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "pips-blue")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "stripe-white")
+ syndicate
+ initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s")
+ officer
+ initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s", "pips-gold", "stripe-gold")
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/id cards/id_stacks_cit.dm b/code/game/objects/items/weapons/id cards/id_stacks_cit.dm
new file mode 100644
index 00000000000..a35b1febf98
--- /dev/null
+++ b/code/game/objects/items/weapons/id cards/id_stacks_cit.dm
@@ -0,0 +1,92 @@
+// This is a defines file for card sprite stacks. If a new card set comes in, this file can just be disabled and a new one made to match the new sprites.
+// Generally, if the icon file is card_xxx.dmi, this filename should be sprite_stacks_xxx.dm
+// Please make sure that only the relevant sprite_stacks_xxx.file is included, if more are made.
+
+
+
+/obj/item/weapon/card
+ icon = 'icons/obj/card_new.dmi' // These are redefined here so that changing sprites is as easy as clicking the checkbox.
+ base_icon = "icons/obj/card_new.dmi"
+
+ // New sprite stacks can be defined here. You could theoretically change icon-states as well but right now this file compiles before station_ids.dm so those wouldn't be affected.
+ id
+ centcom
+ initial_sprite_stack = list("base-stamp", "top-blue", "dept-nanotrasen", "letter-n-command", "pips-gold")
+ vip
+ initial_sprite_stack = list("base-stamp-gold", "top-blue", "dept-vip-gold", "letter-n-command", "pips-gold")
+ ERT
+ initial_sprite_stack = list("base-stamp", "top-dark", "dept-nanotrasen", "letter-n-command")
+ silver
+ initial_sprite_stack = list("base-stamp-silver", "top-mime", "letter-n-generic")
+ secretary
+ initial_sprite_stack = list("base-stamp", "top-blue", "dept-secretary", "letter-n-command")
+ hop
+ initial_sprite_stack = list("base-stamp-silver", "top-blue", "dept-hop", "letter-n-command", "pips-gold")
+ medical
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "letter-n-medical")
+ chemist
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "letter-n-medical", "pips-engineering")
+ geneticist
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "letter-n-medical", "pips-science")
+ psych
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "letter-n-medical", "pips-science")
+ emt
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "letter-n-medical", "pips-command")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-medblu", "dept-medical", "letter-n-command", "pips-gold")
+ sar
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-exploration", "letter-n-command", "pips-command")
+ security
+ initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "letter-n-security")
+ detective
+ initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "letter-n-security", "pips-cargo")
+ warden
+ initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "letter-n-security", "pips-command")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-red", "dept-security", "letter-n-command", "pips-gold")
+ engineering
+ initial_sprite_stack = list("base-stamp", "top-orange", "dept-engineering", "letter-n-engineering")
+ atmos
+ initial_sprite_stack = list("base-stamp", "top-orange", "dept-engineering", "pips-medical", "letter-n-engineering")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-orange", "dept-engineering", "letter-n-command", "pips-gold")
+ science
+ initial_sprite_stack = list("base-stamp", "top-purple", "dept-science", "letter-n-science")
+ roboticist
+ initial_sprite_stack = list("base-stamp", "top-purple", "dept-science", "letter-n-science", "pips-engineering")
+ explorer
+ initial_sprite_stack = list("base-stamp", "top-blue", "dept-exploration", "letter-n-command")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-purple", "dept-science", "letter-n-command", "pips-gold")
+ pathfinder
+ initial_sprite_stack = list("base-stamp-silver", "top-blue", "dept-exploration", "letter-n-command", "pips-gold")
+ cargo
+ initial_sprite_stack = list("base-stamp", "top-brown", "dept-cargo", "letter-n-cargo")
+ miner
+ initial_sprite_stack = list("base-stamp", "top-brown", "dept-cargo", "letter-n-cargo", "pips-science")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-brown", "dept-cargo", "letter-n-command", "pips-gold")
+ civilian
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "letter-n-civilian")
+ chaplain
+ initial_sprite_stack = list("base-stamp-silver", "top-dark", "letter-cross", "pips-white")
+ internal_affairs
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-internal-affairs", "letter-n-command")
+ botanist
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "letter-n-civilian", "pips-cargo")
+ bartender
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "letter-n-civilian", "pips-dark")
+ chef
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "letter-n-civilian", "pips-white")
+ janitor
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "letter-n-civilian", "pips-science")
+ journalist
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-press", "letter-n-civilian")
+ clown
+ initial_sprite_stack = list("base-stamp", "top-pink", "dept-clown", "letter-n-clown")
+ mime
+ initial_sprite_stack = list("base-stamp", "top-white", "letter-n-mime")
+ pilot
+ initial_sprite_stack = list("base-stamp", "top-generic", "dept-pilot", "letter-n-command", "pips-command")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-command", "letter-n-command", "pips-civilian")
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/id cards/id_stacks_deptname.dm b/code/game/objects/items/weapons/id cards/id_stacks_deptname.dm
new file mode 100644
index 00000000000..bce7340ecc0
--- /dev/null
+++ b/code/game/objects/items/weapons/id cards/id_stacks_deptname.dm
@@ -0,0 +1,92 @@
+// This is a defines file for card sprite stacks. If a new card set comes in, this file can just be disabled and a new one made to match the new sprites.
+// Generally, if the icon file is card_xxx.dmi, this filename should be sprite_stacks_xxx.dm
+// Please make sure that only the relevant sprite_stacks_xxx.file is included, if more are made.
+
+
+
+/obj/item/weapon/card
+ icon = 'icons/obj/card_new.dmi' // These are redefined here so that changing sprites is as easy as clicking the checkbox.
+ base_icon = "icons/obj/card_new.dmi"
+
+ // New sprite stacks can be defined here. You could theoretically change icon-states as well but right now this file compiles before station_ids.dm so those wouldn't be affected.
+ id
+ centcom
+ initial_sprite_stack = list("base-stamp", "top-blue", "dept-nanotrasen", "stamp-n", "pips-gold")
+ vip
+ initial_sprite_stack = list("base-stamp-gold", "dept-vip", "top-blue", "stamp-n", "pips-gold")
+ ERT
+ initial_sprite_stack = list("base-stamp", "top-dark", "dept-ert", "stamp-n")
+ silver
+ initial_sprite_stack = list("base-stamp-silver", "top-mime", "stamp-n-generic")
+ secretary
+ initial_sprite_stack = list("base-stamp", "top-blue", "dept-secretary", "stamp-n")
+ hop
+ initial_sprite_stack = list("base-stamp-silver", "top-blue", "dept-hop", "stamp-n", "pips-gold")
+ medical
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "stamp-n")
+ chemist
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "stamp-n", "pips-engineering")
+ geneticist
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "stamp-n", "pips-science")
+ psych
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "stamp-n", "pips-science")
+ emt
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "stamp-n", "pips-command")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-medblu", "dept-medical", "stamp-n", "pips-gold")
+ sar
+ initial_sprite_stack = list("base-stamp", "top-medblu", "dept-exploration", "stamp-n", "pips-command")
+ security
+ initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "stamp-n")
+ detective
+ initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "stamp-n", "pips-cargo")
+ warden
+ initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "stamp-n", "pips-command")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-red", "dept-security", "stamp-n", "pips-gold")
+ engineering
+ initial_sprite_stack = list("base-stamp", "top-orange", "dept-engineering", "stamp-n")
+ atmos
+ initial_sprite_stack = list("base-stamp", "top-orange", "dept-engineering", "pips-medical", "stamp-n")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-orange", "dept-engineering", "stamp-n", "pips-gold")
+ science
+ initial_sprite_stack = list("base-stamp", "top-purple", "dept-science", "stamp-n")
+ roboticist
+ initial_sprite_stack = list("base-stamp", "top-purple", "dept-science", "stamp-n", "pips-engineering")
+ explorer
+ initial_sprite_stack = list("base-stamp", "top-blue", "dept-exploration", "stamp-n")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-purple", "dept-science", "stamp-n", "pips-gold")
+ pathfinder
+ initial_sprite_stack = list("base-stamp-silver", "top-blue", "dept-exploration", "stamp-n", "pips-gold")
+ cargo
+ initial_sprite_stack = list("base-stamp", "top-brown", "dept-cargo", "stamp-n")
+ miner
+ initial_sprite_stack = list("base-stamp", "top-brown", "dept-cargo", "stamp-n", "pips-science")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-brown", "dept-cargo", "stamp-n", "pips-gold")
+ civilian
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "stamp-n")
+ chaplain
+ initial_sprite_stack = list("base-stamp-silver", "top-dark", "letter-cross", "pips-white")
+ internal_affairs
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-internal-affairs", "stamp-n")
+ botanist
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "stamp-n", "pips-cargo")
+ bartender
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "stamp-n", "pips-dark")
+ chef
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "stamp-n", "pips-white")
+ janitor
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "stamp-n", "pips-science")
+ journalist
+ initial_sprite_stack = list("base-stamp", "top-green", "dept-press", "stamp-n")
+ clown
+ initial_sprite_stack = list("base-stamp", "top-pink", "dept-clown", "stamp-n")
+ mime
+ initial_sprite_stack = list("base-stamp", "top-white", "stamp-n-mime")
+ pilot
+ initial_sprite_stack = list("base-stamp", "top-generic", "dept-pilot", "stamp-n", "pips-command")
+ head
+ initial_sprite_stack = list("base-stamp-silver", "top-command", "stamp-n", "pips-civilian")
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/id cards/station_ids.dm b/code/game/objects/items/weapons/id cards/station_ids.dm
index b47d65fc2c6..4f21a737c8e 100644
--- a/code/game/objects/items/weapons/id cards/station_ids.dm
+++ b/code/game/objects/items/weapons/id cards/station_ids.dm
@@ -1,7 +1,7 @@
/obj/item/weapon/card/id
name = "identification card"
desc = "A card used to provide ID and determine access across the station."
- icon_state = "id"
+ icon_state = "generic-nt"
item_state = "card-id"
sprite_sheets = list(
@@ -127,13 +127,13 @@
/obj/item/weapon/card/id/silver
name = "identification card"
desc = "A silver card which shows honour and dedication."
- icon_state = "silver"
+ icon_state = "silver-id"
item_state = "silver_id"
/obj/item/weapon/card/id/gold
name = "identification card"
desc = "A golden card which shows power and might."
- icon_state = "gold"
+ icon_state = "gold-id"
item_state = "gold_id"
preserve_item = 1
@@ -144,13 +144,14 @@
/obj/item/weapon/card/id/gold/captain/spare
name = "\improper Site Manager's spare ID"
desc = "The spare ID of the High Lord himself."
+ icon_state = "gold-id-alternate"
registered_name = "Site Manager"
/obj/item/weapon/card/id/synthetic
name = "\improper Synthetic ID"
desc = "Access module for NanoTrasen Synthetics"
icon_state = "id-robot"
- item_state = "tdgreen"
+ item_state = "idgreen"
assignment = "Synthetic"
/obj/item/weapon/card/id/synthetic/Initialize()
@@ -172,7 +173,7 @@
/obj/item/weapon/card/id/centcom
name = "\improper CentCom. ID"
desc = "An ID straight from Central Command."
- icon_state = "nanotrasen"
+ icon_state = "cc-id"
registered_name = "Central Command"
assignment = "General"
@@ -187,7 +188,7 @@
/obj/item/weapon/card/id/centcom/ERT
name = "\improper Emergency Response Team ID"
assignment = "Emergency Response Team"
- icon_state = "centcom"
+ icon_state = "ert-id"
/obj/item/weapon/card/id/centcom/ERT/Initialize()
. = ..()
@@ -197,14 +198,13 @@
/obj/item/weapon/card/id/medical
name = "identification card"
desc = "A card issued to station medical staff."
- icon_state = "med"
+ icon_state = "medical-id"
primary_color = rgb(189,237,237)
secondary_color = rgb(223,255,255)
/obj/item/weapon/card/id/medical/head
name = "identification card"
desc = "A card which represents care and compassion."
- icon_state = "medGold"
primary_color = rgb(189,237,237)
secondary_color = rgb(255,223,127)
assignment = "Chief Medical Officer"
@@ -213,14 +213,17 @@
/obj/item/weapon/card/id/security
name = "identification card"
desc = "A card issued to station security staff."
- icon_state = "sec"
+ icon_state = "security-id"
primary_color = rgb(189,47,0)
secondary_color = rgb(223,127,95)
+/obj/item/weapon/card/id/security/warden
+ assignment = "Warden"
+ rank = "Warden"
+
/obj/item/weapon/card/id/security/head
name = "identification card"
desc = "A card which represents honor and protection."
- icon_state = "secGold"
primary_color = rgb(189,47,0)
secondary_color = rgb(255,223,127)
assignment = "Head of Security"
@@ -229,14 +232,17 @@
/obj/item/weapon/card/id/engineering
name = "identification card"
desc = "A card issued to station engineering staff."
- icon_state = "eng"
+ icon_state = "engineering-id"
primary_color = rgb(189,94,0)
secondary_color = rgb(223,159,95)
+/obj/item/weapon/card/id/engineering/atmos
+ assignment = "Atmospheric Technician"
+ rank = "Atmospheric Technician"
+
/obj/item/weapon/card/id/engineering/head
name = "identification card"
desc = "A card which represents creativity and ingenuity."
- icon_state = "engGold"
primary_color = rgb(189,94,0)
secondary_color = rgb(255,223,127)
assignment = "Chief Engineer"
@@ -245,14 +251,13 @@
/obj/item/weapon/card/id/science
name = "identification card"
desc = "A card issued to station science staff."
- icon_state = "sci"
+ icon_state = "science-id"
primary_color = rgb(142,47,142)
secondary_color = rgb(191,127,191)
/obj/item/weapon/card/id/science/head
name = "identification card"
desc = "A card which represents knowledge and reasoning."
- icon_state = "sciGold"
primary_color = rgb(142,47,142)
secondary_color = rgb(255,223,127)
assignment = "Research Director"
@@ -261,14 +266,13 @@
/obj/item/weapon/card/id/cargo
name = "identification card"
desc = "A card issued to station cargo staff."
- icon_state = "cargo"
+ icon_state = "cargo-id"
primary_color = rgb(142,94,0)
secondary_color = rgb(191,159,95)
/obj/item/weapon/card/id/cargo/head
name = "identification card"
desc = "A card which represents service and planning."
- icon_state = "cargoGold"
primary_color = rgb(142,94,0)
secondary_color = rgb(255,223,127)
assignment = "Quartermaster"
@@ -281,7 +285,7 @@
/obj/item/weapon/card/id/civilian
name = "identification card"
desc = "A card issued to station civilian staff."
- icon_state = "civ"
+ icon_state = "civilian-id"
primary_color = rgb(0,94,142)
secondary_color = rgb(95,159,191)
assignment = "Civilian"
@@ -290,13 +294,12 @@
/obj/item/weapon/card/id/civilian/head //This is not the HoP. There's no position that uses this right now.
name = "identification card"
desc = "A card which represents common sense and responsibility."
- icon_state = "civGold"
primary_color = rgb(0,94,142)
secondary_color = rgb(255,223,127)
/obj/item/weapon/card/id/external
name = "identification card"
desc = "An identification card of some sort. It does not look like it is issued by NT."
- icon_state = "permit"
+ icon_state = "generic"
primary_color = rgb(142,94,0)
secondary_color = rgb(191,159,95)
diff --git a/code/game/objects/items/weapons/id cards/syndicate_ids.dm b/code/game/objects/items/weapons/id cards/syndicate_ids.dm
index afb85ecb7a5..8ef8894982a 100644
--- a/code/game/objects/items/weapons/id cards/syndicate_ids.dm
+++ b/code/game/objects/items/weapons/id cards/syndicate_ids.dm
@@ -1,6 +1,6 @@
/obj/item/weapon/card/id/syndicate
name = "agent card"
- icon_state = "syndicate"
+ icon_state = "generic-s"
assignment = "Agent"
origin_tech = list(TECH_ILLEGAL = 3)
var/electronic_warfare = 1
@@ -62,16 +62,132 @@
registered_user.unregister(OBSERVER_EVENT_DESTROY, src)
registered_user = null
+<<<<<<< HEAD
+=======
+/obj/item/weapon/card/id/syndicate/CanUseTopic(mob/user)
+ if(user != registered_user)
+ return STATUS_CLOSE
+ return ..()
+
+/obj/item/weapon/card/id/syndicate/Topic(href, href_list, var/datum/topic_state/state)
+ if(..())
+ return 1
+
+ var/user = usr
+ if(href_list["electronic_warfare"])
+ electronic_warfare = text2num(href_list["electronic_warfare"])
+ to_chat(user, "Electronic warfare [electronic_warfare ? "enabled" : "disabled"].")
+ else if(href_list["set"])
+ switch(href_list["set"])
+ if("Age")
+ var/new_age = input(user,"What age would you like to put on this card?","Agent Card Age", age) as null|num
+ if(!isnull(new_age) && CanUseTopic(user, state))
+ if(new_age < 0)
+ age = initial(age)
+ else
+ age = new_age
+ to_chat(user, "Age has been set to '[age]'.")
+ . = 1
+ if("Appearance")
+ var/datum/card_state/choice = input(user, "Select the appearance for this card.", "Agent Card Appearance") as null|anything in id_card_states()
+ if(choice && CanUseTopic(user, state))
+ src.icon_state = choice.icon_state
+ src.item_state = choice.item_state
+ src.sprite_stack = choice.sprite_stack
+ update_icon()
+ to_chat(usr, "Appearance changed to [choice].")
+ . = 1
+ if("Assignment")
+ var/new_job = sanitize(input(user,"What assignment would you like to put on this card?\nChanging assignment will not grant or remove any access levels.","Agent Card Assignment", assignment) as null|text)
+ if(!isnull(new_job) && CanUseTopic(user, state))
+ src.assignment = new_job
+ to_chat(user, "Occupation changed to '[new_job]'.")
+ update_name()
+ . = 1
+ if("Blood Type")
+ var/default = blood_type
+ if(default == initial(blood_type) && ishuman(user))
+ var/mob/living/carbon/human/H = user
+ if(H.dna)
+ default = H.dna.b_type
+ var/new_blood_type = sanitize(input(user,"What blood type would you like to be written on this card?","Agent Card Blood Type",default) as null|text)
+ if(!isnull(new_blood_type) && CanUseTopic(user, state))
+ src.blood_type = new_blood_type
+ to_chat(user, "Blood type changed to '[new_blood_type]'.")
+ . = 1
+ if("DNA Hash")
+ var/default = dna_hash
+ if(default == initial(dna_hash) && ishuman(user))
+ var/mob/living/carbon/human/H = user
+ if(H.dna)
+ default = H.dna.unique_enzymes
+ var/new_dna_hash = sanitize(input(user,"What DNA hash would you like to be written on this card?","Agent Card DNA Hash",default) as null|text)
+ if(!isnull(new_dna_hash) && CanUseTopic(user, state))
+ src.dna_hash = new_dna_hash
+ to_chat(user, "DNA hash changed to '[new_dna_hash]'.")
+ . = 1
+ if("Fingerprint Hash")
+ var/default = fingerprint_hash
+ if(default == initial(fingerprint_hash) && ishuman(user))
+ var/mob/living/carbon/human/H = user
+ if(H.dna)
+ default = md5(H.dna.uni_identity)
+ var/new_fingerprint_hash = sanitize(input(user,"What fingerprint hash would you like to be written on this card?","Agent Card Fingerprint Hash",default) as null|text)
+ if(!isnull(new_fingerprint_hash) && CanUseTopic(user, state))
+ src.fingerprint_hash = new_fingerprint_hash
+ to_chat(user, "Fingerprint hash changed to '[new_fingerprint_hash]'.")
+ . = 1
+ if("Name")
+ var/new_name = sanitizeName(input(user,"What name would you like to put on this card?","Agent Card Name", registered_name) as null|text)
+ if(!isnull(new_name) && CanUseTopic(user, state))
+ src.registered_name = new_name
+ update_name()
+ to_chat(user, "Name changed to '[new_name]'.")
+ . = 1
+ if("Photo")
+ set_id_photo(user)
+ to_chat(user, "Photo changed.")
+ . = 1
+ if("Sex")
+ var/new_sex = sanitize(input(user,"What sex would you like to put on this card?","Agent Card Sex", sex) as null|text)
+ if(!isnull(new_sex) && CanUseTopic(user, state))
+ src.sex = new_sex
+ to_chat(user, "Sex changed to '[new_sex]'.")
+ . = 1
+ if("Factory Reset")
+ if(alert("This will factory reset the card, including access and owner. Continue?", "Factory Reset", "No", "Yes") == "Yes" && CanUseTopic(user, state))
+ age = initial(age)
+ access = syndicate_access.Copy()
+ assignment = initial(assignment)
+ blood_type = initial(blood_type)
+ dna_hash = initial(dna_hash)
+ electronic_warfare = initial(electronic_warfare)
+ fingerprint_hash = initial(fingerprint_hash)
+ icon_state = initial(icon_state)
+ sprite_stack = list("")
+ update_icon()
+ name = initial(name)
+ registered_name = initial(registered_name)
+ unset_registered_user()
+ sex = initial(sex)
+ to_chat(user, "All information has been deleted from \the [src].")
+ . = 1
+
+ // Always update the UI, or buttons will spin indefinitely
+ SSnanoui.update_uis(src)
+
+>>>>>>> 47d2c55... New ID Card Design (#7815)
/var/global/list/id_card_states
/proc/id_card_states()
if(!id_card_states)
id_card_states = list()
for(var/path in typesof(/obj/item/weapon/card/id))
- var/obj/item/weapon/card/id/ID = path
+ var/obj/item/weapon/card/id/ID = new path()
var/datum/card_state/CS = new()
CS.icon_state = initial(ID.icon_state)
CS.item_state = initial(ID.item_state)
- CS.name = initial(ID.name) + " - " + initial(ID.icon_state)
+ CS.sprite_stack = ID.initial_sprite_stack
+ CS.name = initial(ID.name)
id_card_states += CS
id_card_states = dd_sortedObjectList(id_card_states)
@@ -81,6 +197,7 @@
var/name
var/icon_state
var/item_state
+ var/sprite_stack
/datum/card_state/dd_SortValue()
return name
@@ -89,5 +206,6 @@
name = "syndicate ID card"
desc = "An ID straight from the Syndicate."
registered_name = "Syndicate"
- assignment = "Syndicate Overlord"
+ assignment = "Syndicate Commander"
+ icon_state = "syndicate-id"
access = list(access_syndicate, access_external_airlocks)
\ No newline at end of file
diff --git a/code/modules/clothing/under/accessories/permits.dm b/code/modules/clothing/under/accessories/permits.dm
index d7a5c3f396a..c89d9ee0198 100644
--- a/code/modules/clothing/under/accessories/permits.dm
+++ b/code/modules/clothing/under/accessories/permits.dm
@@ -3,8 +3,8 @@
/obj/item/clothing/accessory/permit
name = "permit"
desc = "A permit for something."
- icon = 'icons/obj/card.dmi'
- icon_state = "permit"
+ icon = 'icons/obj/card_new.dmi'
+ icon_state = "permit-generic"
w_class = ITEMSIZE_TINY
slot = ACCESSORY_SLOT_MEDAL
var/owner = 0 //To prevent people from just renaming the thing if they steal it
@@ -30,6 +30,7 @@
/obj/item/clothing/accessory/permit/gun
name = "weapon permit"
desc = "A card indicating that the owner is allowed to carry a firearm."
+ icon_state = "permit-security"
/obj/item/clothing/accessory/permit/gun/bar
name = "bar shotgun permit"
@@ -38,8 +39,9 @@
/obj/item/clothing/accessory/permit/gun/planetside
name = "planetside gun permit"
desc = "A card indicating that the owner is allowed to carry a firearm while on the surface."
+ icon_state = "permit-science"
/obj/item/clothing/accessory/permit/drone
name = "drone identification card"
desc = "A card issued by the EIO, indicating that the owner is a Drone Intelligence. Drones are mandated to carry this card within SolGov space, by law."
- icon_state = "permit_drone"
\ No newline at end of file
+ icon_state = "permit-drone"
\ No newline at end of file
diff --git a/icons/obj/card_cit.dmi b/icons/obj/card_cit.dmi
new file mode 100644
index 00000000000..165c0c0a5ad
Binary files /dev/null and b/icons/obj/card_cit.dmi differ
diff --git a/icons/obj/card_new.dmi b/icons/obj/card_new.dmi
new file mode 100644
index 00000000000..f5b658ccd07
Binary files /dev/null and b/icons/obj/card_new.dmi differ
diff --git a/maps/southern_cross/job/outfits.dm b/maps/southern_cross/job/outfits.dm
index 56e62dd28d9..3994ff9be3f 100644
--- a/maps/southern_cross/job/outfits.dm
+++ b/maps/southern_cross/job/outfits.dm
@@ -13,8 +13,13 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
l_ear = /obj/item/device/radio/headset/explorer
id_slot = slot_wear_id
pda_slot = slot_l_store
+<<<<<<< HEAD
pda_type = /obj/item/device/pda/explorer //VORESTation Edit - Better Brown
id_type = /obj/item/weapon/card/id/explorer //VOREStation Edit
+=======
+ pda_type = /obj/item/device/pda/cargo // Brown looks more rugged
+ id_type = /obj/item/weapon/card/id/science/explorer
+>>>>>>> 47d2c55... New ID Card Design (#7815)
id_pda_assignment = "Explorer"
flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL
backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1)
@@ -47,7 +52,12 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
uniform_accessories = list(/obj/item/clothing/accessory/storage/webbing/pilot1 = 1)
id_slot = slot_wear_id
pda_slot = slot_belt
+<<<<<<< HEAD
pda_type = /obj/item/device/pda //VOREStation Edit - Civilian
+=======
+ pda_type = /obj/item/device/pda/cargo // Brown looks more rugged
+ id_type = /obj/item/weapon/card/id/civilian/pilot
+>>>>>>> 47d2c55... New ID Card Design (#7815)
id_pda_assignment = "Pilot"
flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL
@@ -60,6 +70,12 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
l_hand = /obj/item/weapon/storage/firstaid/regular
belt = /obj/item/weapon/storage/belt/medical/emt
pda_slot = slot_l_store
+<<<<<<< HEAD
pda_type = /obj/item/device/pda/sar //VOREStation Add
id_pda_assignment = "Field Medic" //VOREStation Edit
flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL
+=======
+ id_type = /obj/item/weapon/card/id/medical/sar
+ id_pda_assignment = "Search and Rescue"
+ flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL
+>>>>>>> 47d2c55... New ID Card Design (#7815)
diff --git a/vorestation.dme b/vorestation.dme
index 9b8cb172396..aaaea8c1deb 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -1306,7 +1306,11 @@
#include "code\game\objects\items\weapons\grenades\spawnergrenade_vr.dm"
#include "code\game\objects\items\weapons\grenades\supermatter.dm"
#include "code\game\objects\items\weapons\id cards\cards.dm"
+<<<<<<< HEAD:vorestation.dme
#include "code\game\objects\items\weapons\id cards\cards_vr.dm"
+=======
+#include "code\game\objects\items\weapons\id cards\id_stacks.dm"
+>>>>>>> 47d2c55... New ID Card Design (#7815):polaris.dme
#include "code\game\objects\items\weapons\id cards\station_ids.dm"
#include "code\game\objects\items\weapons\id cards\station_ids_vr.dm"
#include "code\game\objects\items\weapons\id cards\syndicate_ids.dm"