Fixes IDs and Pins improperly rotating in storage, readds resprited IDs (#21231)

Readds ID resprites from #19522 that were removed in #20535.
Fixes ID cards improperly rotating in storage. The workaround is clunky
but functional. This is applied to all vertical IDs.
Fixes firing pins not turning vertical in storage.

These fixes were PR'd with the IDs due to the IDs requiring the fixes.
The IDs can be dropped for just the fixes if desired.
Image of changes in effect:
<details><summary>Details</summary>
<p>
<img width="264" height="92" alt="image"
src="https://github.com/user-attachments/assets/966d4350-e9f7-4eaf-bd87-3990b316197a"
/>
</p>
</details>
This commit is contained in:
CatsinHD
2025-08-28 10:44:32 +00:00
committed by GitHub
parent eccf9e6fc3
commit c755dc4620
12 changed files with 120 additions and 20 deletions
+49 -10
View File
@@ -24,6 +24,7 @@
var/list/files = list( )
/// Spam limiter.
var/last_flash = 0
var/vertical_card = FALSE
drop_sound = 'sound/items/drop/card.ogg'
pickup_sound = 'sound/items/pickup/card.ogg'
@@ -44,12 +45,13 @@
update_icon()
/obj/item/card/update_icon()
var/matrix/tf = matrix()
var/obj/item/storage/S = loc
if(istype(S, /obj/item/storage) && !S.storage_slots)
tf.Turn(-90) //Vertical for storing compactly
tf.Translate(-1, 0) //Could do this with pixel_x but let's just update the appearance once.
transform = tf
if(!vertical_card)
var/matrix/tf = matrix()
var/obj/item/storage/S = loc
if(istype(S, /obj/item/storage) && !S.storage_slots)
tf.Turn(-90) //Vertical for storing compactly
tf.Translate(-1, 0) //Could do this with pixel_x but let's just update the appearance once.
transform = tf
/obj/item/card/data
name = "data disk"
@@ -421,12 +423,33 @@
access = get_all_station_access() | get_all_centcom_access()
..()
// SCC ID cards
/obj/item/card/id/scc
desc = "A high-tech holocard displaying the credentials of a SCC employee."
icon_state = "bridge_card"
vertical_card = TRUE
/obj/item/card/id/scc/bridge
desc = "A high-tech holocard displaying the lowly credentials of a SCC bridge crewman."
icon_state = "bridge_card"
/obj/item/card/id/scc/silver
desc = "A high-tech holocard displaying the credentials of a SCC command member."
icon_state = "command_card"
/obj/item/card/id/scc/gold
desc = "A high-tech holocard displaying the intimidating credentials of a SCC employee."
icon_state = "captain_card"
/obj/item/card/id/scc/gold/captain
desc = "A high-tech holocard displaying the commanding credentials of a SCC captain."
icon_state = "captain_card"
/obj/item/card/id/captains_spare
name = "captain's spare identification card"
desc = "A captain's spare identification card."
icon_state = "gold"
item_state = "gold_id"
overlay_state = "gold"
icon_state = "captain_card"
registered_name = "Captain"
assignment = "Captain"
@@ -440,6 +463,7 @@
icon_state = "centcom"
overlay_state = "centcom"
access = list(ACCESS_MERCHANT)
vertical_card = TRUE
/obj/item/card/id/synthetic
name = "\improper SCC equipment identification card"
@@ -481,6 +505,7 @@
overlay_state = "centcom"
registered_name = "Central Command"
assignment = "General"
vertical_card = TRUE
/obj/item/card/id/centcom/New()
access = get_all_centcom_access()
@@ -488,11 +513,12 @@
/obj/item/card/id/ccia
name = "\improper CentCom. Internal Affairs identification card"
desc = "A synthleather ID displaying the blood-chilling credentials of an Internal Affairs agent."
desc = "A high-tech holocard displaying the blood-chilling credentials of an Internal Affairs agent."
icon_state = "ccia"
overlay_state = "ccia"
drop_sound = /singleton/sound_category/generic_drop_sound
pickup_sound = /singleton/sound_category/generic_pickup_sound
vertical_card = TRUE
/obj/item/card/id/ccia/update_icon()
return
@@ -506,12 +532,14 @@
name = "\improper Biesel Security Services Bureau identification card"
desc = "A synthleather ID straight from the Biesel Security Services Bureau."
icon_state = "bssb"
vertical_card = FALSE
/obj/item/card/id/ert
name = "\improper NanoTrasen Emergency Response Team identification card"
icon_state = "centcom"
overlay_state = "centcom"
assignment = "Emergency Response Team"
vertical_card = TRUE
/obj/item/card/id/ert/New()
access = get_all_station_access() + get_centcom_access("Emergency Response Team")
@@ -525,6 +553,7 @@
icon_state = "centcom"
overlay_state = "centcom"
assignment = "Asset Protection"
vertical_card = TRUE
/obj/item/card/id/asset_protection/New()
access = get_all_accesses()
@@ -554,6 +583,7 @@
desc = "An old-fashioned, practical plastic card. Cheaply produced for Tau Ceti's finest."
assignment = "Tau Ceti Foreign Legion Volunteer"
icon_state = "legion"
vertical_card = TRUE
/obj/item/card/id/distress/legion/New()
access = list(ACCESS_LEGION, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_SECURITY, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_MEDICAL, ACCESS_RESEARCH, ACCESS_ATMOSPHERICS, ACCESS_MEDICAL_EQUIP)
@@ -569,6 +599,7 @@
assignment = "EPMC Asset Protection"
icon_state = "pmc_card"
overlay_state = "pmc_card"
vertical_card = TRUE
/obj/item/card/distress/ap_eridani/update_icon()
return
@@ -581,6 +612,7 @@
name = "\improper Interstellar Aid Corps identification card"
assignment = "Interstellar Aid Corps Responder"
icon_state = "centcom"
vertical_card = TRUE
/obj/item/card/id/distress/iac/New()
access = get_distress_access()
@@ -594,6 +626,7 @@
overlay_state = "data"
registered_name = "Administrator"
assignment = "Administrator"
vertical_card = TRUE
/obj/item/card/id/all_access/New()
access = get_access_ids()
@@ -605,6 +638,7 @@
desc = "A high-tech holocard, designed to project information about a sub-contractor from Idris Incorporated."
icon_state = "idris_card"
overlay_state = "idris_card"
vertical_card = TRUE
/obj/item/card/id/idris/update_icon()
return
@@ -627,6 +661,7 @@
desc = "A high-tech holobadge, identifying the owner as a contractor from one of the many PMCs from the Private Military Contracting Group."
icon_state = "pmc_card"
overlay_state = "pmc_card"
vertical_card = TRUE
/obj/item/card/id/pmc/update_icon()
return
@@ -636,6 +671,7 @@
desc = "A synthleather card, belonging to one of the highly skilled members of Zeng-Hu."
icon_state = "zhu_card"
overlay_state = "zhu_card"
vertical_card = TRUE
/obj/item/card/zeng_hu/update_icon()
return
@@ -669,6 +705,7 @@
desc = "A well-worn identification pass, retrofitted with wireless transmission technology."
icon_state = "orion_card"
overlay_state = "orion_card"
vertical_card = TRUE
/obj/item/card/id/coalition
name = "\improper coalition identification card"
@@ -687,12 +724,14 @@
desc = "An old-fashioned, practical plastic card. Cheaply produced for Tau Ceti's finest."
icon_state = "legion"
overlay_state = "nothing"
vertical_card = TRUE
/obj/item/card/id/bluespace
name = "bluespace identification card"
desc = "A bizarre imitation of an ID card; shifting and moving."
icon_state = "crystalid"
iff_faction = IFF_BLUESPACE
vertical_card = TRUE
/obj/item/card/id/bluespace/antagonist_hints(mob/user, distance, is_adjacent)
. += ..()