diff --git a/code/datums/outfits/event/outfit_nanotrasen.dm b/code/datums/outfits/event/outfit_nanotrasen.dm
index 431ae898334..2d3cb4b46d9 100644
--- a/code/datums/outfits/event/outfit_nanotrasen.dm
+++ b/code/datums/outfits/event/outfit_nanotrasen.dm
@@ -44,6 +44,7 @@
gloves = /obj/item/clothing/gloves/swat/tactical
l_ear = /obj/item/device/radio/headset/ert
glasses = /obj/item/clothing/glasses/sunglasses/sechud
+ id = /obj/item/card/id/ccia
head = /obj/item/clothing/head/beret/centcom/civilprotection
suit_store = /obj/item/gun/energy/gun
belt = /obj/item/storage/belt/security
@@ -58,7 +59,7 @@
implants = list(
/obj/item/implant/mindshield
)
-
+ id_icon = "ccia"
id_access = "CCIA Agent"
/datum/outfit/admin/nt/protection_detail/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -119,7 +120,9 @@
r_pocket = /obj/item/device/taperecorder/cciaa
l_hand = /obj/item/storage/lockbox/cciaa
pda = /obj/item/modular_computer/handheld/pda/command/cciaa
+ id = /obj/item/card/id/ccia
+ id_icon = "ccia"
id_access = "CCIA Agent"
/datum/outfit/admin/nt/odinsec
@@ -196,6 +199,7 @@
l_pocket = /obj/item/reagent_containers/spray/pepper
r_pocket = /obj/item/device/taperecorder/cciaa
l_hand = /obj/item/storage/lockbox/cciaa/fib
+ id = /obj/item/card/id/ccia/fib
accessory = /obj/item/clothing/accessory/holster/hip
accessory_contents = list(/obj/item/gun/projectile/sec/lethal = 1)
@@ -206,6 +210,7 @@
/obj/item/handcuffs = 1
)
+ id_icon = "fib"
id_access = "CCIA Agent"
/datum/outfit/admin/nt/fib/guard
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index de025172d0b..4c2fa1cb96d 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -12,7 +12,6 @@
* DATA CARDS - Used for the teleporter
*/
/obj/item/card
-
name = "card"
desc = "Does card things."
icon = 'icons/obj/card.dmi'
@@ -151,7 +150,7 @@ var/const/NO_EMAG_ACT = -50
return
/obj/item/card/id/proc/update_name()
- name = "[src.registered_name]'s ID Card ([src.assignment])"
+ name = "ID Card ([src.registered_name] ([src.assignment]))"
/obj/item/card/id/proc/set_id_photo(var/mob/M)
front = getFlatIcon(M, SOUTH)
@@ -216,12 +215,21 @@ var/const/NO_EMAG_ACT = -50
return
if(last_flash <= world.time - 20)
last_flash = world.time
- user.visible_message("[user] shows you: [icon2html(src, viewers(get_turf(src)))] [src.name]. The assignment on the card: [src.assignment]",\
- "You flash your ID card: [icon2html(src, viewers(get_turf(src)))] [src.name]. The assignment on the card: [src.assignment]")
+ id_flash(user)
src.add_fingerprint(user)
return
+/obj/item/card/id/proc/id_flash(var/mob/user, var/add_text = "", var/blind_add_text = "")
+ var/list/id_viewers = viewers(3, user) // or some other distance - this distance could be defined as a var on the ID
+ var/message = "[user] flashes [user.get_pronoun("his")] [icon2html(src, id_viewers)] [src.name]."
+ var/blind_message = "You flash your [icon2html(src, id_viewers)] [src.name]."
+ if(add_text != "")
+ message += " [add_text]"
+ if(blind_add_text != "")
+ blind_message += " [blind_add_text]"
+ user.visible_message(message, blind_message)
+
/obj/item/card/id/attack(var/mob/living/M, var/mob/user, proximity)
if(user.zone_sel.selecting == BP_R_HAND || user.zone_sel.selecting == BP_L_HAND)
@@ -422,7 +430,7 @@ var/const/NO_EMAG_ACT = -50
/obj/item/card/id/centcom
name = "\improper CentCom. ID"
- desc = "An ID straight from Cent. Com."
+ desc = "An ID straight from CentCom."
icon_state = "centcom"
overlay_state = "centcom"
registered_name = "Central Command"
@@ -432,6 +440,24 @@ var/const/NO_EMAG_ACT = -50
access = get_all_centcom_access()
..()
+/obj/item/card/id/ccia
+ name = "\improper CentCom. Internal Affairs ID"
+ desc = "An ID straight from CentCom. Internal Affairs."
+ icon_state = "ccia"
+ overlay_state = "ccia"
+ drop_sound = /decl/sound_category/generic_drop_sound
+ pickup_sound = /decl/sound_category/generic_pickup_sound
+
+/obj/item/card/id/ccia/id_flash(var/mob/user)
+ var/add_text = "Done with prejudice and professionalism, [user.get_pronoun("he")] means business."
+ var/blind_add_text = "Done with prejudice and professionalism, you mean business."
+ return ..(user, add_text, blind_add_text)
+
+/obj/item/card/id/ccia/fib
+ name = "\improper Federal Investigations Bureau ID"
+ desc = "An ID straight from the Federal Investigations Bureau."
+ icon_state = "fib"
+
/obj/item/card/id/ert
name = "\improper Nanotrasen Emergency Response Team ID"
icon_state = "centcom"
diff --git a/html/changelogs/wezzy_new_ccia_id.yml b/html/changelogs/wezzy_new_ccia_id.yml
new file mode 100644
index 00000000000..78be419097d
--- /dev/null
+++ b/html/changelogs/wezzy_new_ccia_id.yml
@@ -0,0 +1,41 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: Wowzewow (Wezzy)
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - imageadd: "CCIA and FIB agents have cool new ID badges."
diff --git a/icons/mob/card.dmi b/icons/mob/card.dmi
index f9d1802a61d..d537ec74f99 100644
Binary files a/icons/mob/card.dmi and b/icons/mob/card.dmi differ
diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi
index d1b01b20a2a..32bd7322e52 100644
Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ