diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index adbf0a4a774..9abe556a6fe 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -34,7 +34,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca shoes = /obj/item/clothing/shoes/laceup/brown head = /obj/item/clothing/head/caphat/scc glasses = /obj/item/clothing/glasses/sunglasses - id = /obj/item/card/id/gold + id = /obj/item/card/id/scc/gold/captain headset = /obj/item/device/radio/headset/heads/captain bowman = /obj/item/device/radio/headset/heads/captain/alt @@ -121,7 +121,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca head = /obj/item/clothing/head/caphat/xo uniform = /obj/item/clothing/under/rank/xo shoes = /obj/item/clothing/shoes/laceup/brown - id = /obj/item/card/id/silver + id = /obj/item/card/id/scc/silver headset = /obj/item/device/radio/headset/heads/xo bowman = /obj/item/device/radio/headset/heads/xo/alt @@ -179,7 +179,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca head = /obj/item/clothing/head/caphat/bridge_crew uniform = /obj/item/clothing/under/rank/bridge_crew shoes = /obj/item/clothing/shoes/laceup - id = /obj/item/card/id/silver + id = /obj/item/card/id/scc/bridge headset = /obj/item/device/radio/headset/headset_com bowman = /obj/item/device/radio/headset/headset_com/alt diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 7e1b855643c..5866de1a744 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -368,7 +368,7 @@ uniform = /obj/item/clothing/under/rank/operations_manager shoes = /obj/item/clothing/shoes/sneakers/brown - id = /obj/item/card/id/silver + id = /obj/item/card/id/scc/silver glasses = /obj/item/clothing/glasses/sunglasses tab_pda = /obj/item/modular_computer/handheld/pda/supply/om diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index 4f71254797b..d96c83362e0 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -44,7 +44,7 @@ uniform = /obj/item/clothing/under/rank/chief_engineer head = /obj/item/clothing/head/hardhat/white belt = /obj/item/storage/belt/utility/ce - id = /obj/item/card/id/silver + id = /obj/item/card/id/scc/silver shoes = null r_pocket = /obj/item/device/t_scanner diff --git a/code/game/jobs/job/hra.dm b/code/game/jobs/job/hra.dm index 50251bcc6bd..c15215df754 100644 --- a/code/game/jobs/job/hra.dm +++ b/code/game/jobs/job/hra.dm @@ -59,7 +59,7 @@ l_pocket = /obj/item/reagent_containers/spray/pepper r_pocket = /obj/item/device/taperecorder/cciaa l_hand = /obj/item/storage/lockbox/cciaa - id = /obj/item/card/id/gold + id = /obj/item/card/id/scc/gold backpack_contents = list( /obj/item/modular_computer/laptop/preset/command = 1, diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index e8df542104b..01e262ece26 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -43,7 +43,7 @@ suit = /obj/item/clothing/suit/storage/toggle/labcoat/cmo suit_store = /obj/item/device/flashlight/pen shoes = /obj/item/clothing/shoes/sneakers/brown - id = /obj/item/card/id/silver + id = /obj/item/card/id/scc/silver l_hand = /obj/item/storage/firstaid/adv headset = /obj/item/device/radio/headset/heads/cmo diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 1bef8cc3cff..e8d3a368f3b 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -41,7 +41,7 @@ uniform = /obj/item/clothing/under/rank/research_director suit = /obj/item/clothing/suit/storage/toggle/labcoat/science shoes = /obj/item/clothing/shoes/sneakers/brown - id = /obj/item/card/id/silver + id = /obj/item/card/id/scc/silver l_hand = /obj/item/clipboard headset = /obj/item/device/radio/headset/heads/rd diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 178434c49a1..50f3fb03c2f 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -41,7 +41,7 @@ uniform = /obj/item/clothing/under/rank/head_of_security head = /obj/item/clothing/head/hos - id = /obj/item/card/id/silver + id = /obj/item/card/id/scc/silver shoes = null glasses = /obj/item/clothing/glasses/sunglasses/sechud/head diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm index 518c1b2cbb9..9c16ccd8f69 100644 --- a/code/game/machinery/computer/guestpass.dm +++ b/code/game/machinery/computer/guestpass.dm @@ -6,6 +6,7 @@ desc = "Allows temporary access to workplace areas." icon_state = "guest" overlay_state = "guest" + vertical_card = TRUE var/temp_access = list() //to prevent agent cards stealing access as permanent var/expiration_time = 0 diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 9df03815001..e8c211306d6 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -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) . += ..() diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index 22c390e84df..6273b5f00b4 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -43,7 +43,7 @@ Firing pins as a rule can't be removed without replacing them, blame a really sh ..() update_icon() -/obj/item/firing_pin/update_icon() +/obj/item/device/firing_pin/update_icon() var/matrix/tf = matrix() var/obj/item/storage/S = loc if(istype(S, /obj/item/storage) && !S.storage_slots) diff --git a/html/changelogs/williammurdoch-SCCIDsandstoragefix.yml b/html/changelogs/williammurdoch-SCCIDsandstoragefix.yml new file mode 100644 index 00000000000..a5d4f7f7b25 --- /dev/null +++ b/html/changelogs/williammurdoch-SCCIDsandstoragefix.yml @@ -0,0 +1,60 @@ +################################ +# 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 +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: CatsinHD + +# 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, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Vertical ID cards no longer turn sideways in storage." + - bugfix: "Fixes firing pins not turning vertical in storage." + - rscadd: "Returns resprites for Command, CCIA, TCFL/TCAF IDs and Guest passes." diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index 466da046c5a..489d3e6a6dd 100644 Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ