diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 847c733f76c4..d44ee89defa7 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -44,6 +44,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/preferred_map = null
var/pda_style = MONO
var/pda_color = "#808000"
+ var/id_in_pda = FALSE
var/show_credits = TRUE
var/uses_glasses_colour = 0
@@ -631,6 +632,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "
"
dat += "PDA Color: Change
"
dat += "PDA Style: [pda_style]
"
+ dat += "PDA Starts in ID Slot: [id_in_pda ? "Enabled" : "Disabled"]
"
dat += "Skillcape: [(skillcape_id != "None") ? "[GLOB.skillcapes[skillcape_id]]" : "None"]
"
dat += "Flare: [flare ? "Enabled" : "Disabled"]
"
dat += "Map: [map ? "Enabled" : "Disabled"]
"
@@ -1781,6 +1783,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/pickedPDAColor = input(user, "Choose your PDA Interface color.", "Character Preference",pda_color) as color|null
if(pickedPDAColor)
pda_color = pickedPDAColor
+ if("id_in_pda")
+ id_in_pda = !id_in_pda
if("skillcape")
var/list/selectablecapes = list()
var/max_eligable = TRUE
@@ -2067,6 +2071,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
character.backbag = backbag
character.jumpsuit_style = jumpsuit_style
+ character.id_in_pda = id_in_pda
var/datum/species/chosen_species
chosen_species = pref_species.type
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 857687128f1b..11e68e414c40 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -212,6 +212,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
READ_FILE(S["tip_delay"], tip_delay)
READ_FILE(S["pda_style"], pda_style)
READ_FILE(S["pda_color"], pda_color)
+ READ_FILE(S["id_in_pda"], id_in_pda)
READ_FILE(S["skillcape"], skillcape)
READ_FILE(S["skillcape_id"], skillcape_id)
@@ -347,6 +348,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["tip_delay"], tip_delay)
WRITE_FILE(S["pda_style"], pda_style)
WRITE_FILE(S["pda_color"], pda_color)
+ WRITE_FILE(S["id_in_pda"], id_in_pda)
WRITE_FILE(S["skillcape"], skillcape)
WRITE_FILE(S["skillcape_id"], skillcape_id)
WRITE_FILE(S["show_credits"], show_credits)
diff --git a/code/modules/clothing/outfits/plasmaman.dm b/code/modules/clothing/outfits/plasmaman.dm
index 1b109edebb7b..2c6355962810 100644
--- a/code/modules/clothing/outfits/plasmaman.dm
+++ b/code/modules/clothing/outfits/plasmaman.dm
@@ -3,6 +3,8 @@
jobtype = /datum/job/bartender
+ pda_type = /obj/item/pda/bar
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -11,21 +13,21 @@
ears = /obj/item/radio/headset/headset_srv
shoes = /obj/item/clothing/shoes/laceup
glasses = /obj/item/clothing/glasses/sunglasses/reagent
- belt = /obj/item/pda/bar
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/cook
name = "Plasmaman Cook"
jobtype = /datum/job/cook
-
+
+ pda_type = /obj/item/pda/cook
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
uniform = /obj/item/clothing/under/plasmaman/chef
suit = /obj/item/clothing/suit/toggle/chef
ears = /obj/item/radio/headset/headset_srv
- belt = /obj/item/pda/cook
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/botanist
@@ -33,6 +35,8 @@
jobtype = /datum/job/hydro
+ pda_type = /obj/item/pda/botanist
+
head = /obj/item/clothing/head/helmet/space/plasmaman/blue
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -43,7 +47,6 @@
suit_store = /obj/item/plant_analyzer
backpack = /obj/item/storage/backpack/botany
satchel = /obj/item/storage/backpack/satchel/hyd
- belt = /obj/item/pda/botanist
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/curator
@@ -51,6 +54,8 @@
jobtype = /datum/job/curator
+ pda_type = /obj/item/pda/curator
+
head = /obj/item/clothing/head/helmet/space/plasmaman/curator
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -60,7 +65,6 @@
r_pocket = /obj/item/key/displaycase
l_pocket = /obj/item/laser_pointer
accessory = /obj/item/clothing/accessory/pocketprotector/full
- belt = /obj/item/pda/curator
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/chaplain
@@ -68,6 +72,8 @@
jobtype = /datum/job/chaplain
+ pda_type = /obj/item/pda/chaplain
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -75,7 +81,6 @@
ears = /obj/item/radio/headset/headset_srv
backpack = /obj/item/storage/backpack/cultpack
satchel = /obj/item/storage/backpack/cultpack
- belt = /obj/item/pda/chaplain
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/janitor
@@ -83,12 +88,13 @@
jobtype = /datum/job/janitor
+ pda_type = /obj/item/pda/janitor
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
uniform = /obj/item/clothing/under/plasmaman/janitor
ears = /obj/item/radio/headset/headset_srv
- belt = /obj/item/pda/janitor
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
@@ -97,6 +103,8 @@
jobtype = /datum/job/officer
+ pda_type = /obj/item/pda/security
+
head = /obj/item/clothing/head/helmet/space/plasmaman/security
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/gas/sechailer
@@ -111,7 +119,6 @@
backpack = /obj/item/storage/backpack/security
satchel = /obj/item/storage/backpack/satchel/sec
duffelbag = /obj/item/storage/backpack/duffelbag/sec
- belt = /obj/item/pda/security
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/detective
@@ -119,6 +126,8 @@
jobtype = /datum/job/detective
+ pda_type = /obj/item/pda/detective
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -129,7 +138,6 @@
suit = /obj/item/clothing/suit/det_suit
gloves = /obj/item/clothing/gloves/color/black
l_pocket = /obj/item/toy/crayon/white
- belt = /obj/item/pda/detective
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/warden
@@ -137,6 +145,8 @@
jobtype = /datum/job/warden
+ pda_type = /obj/item/pda/warden
+
head = /obj/item/clothing/head/helmet/space/plasmaman/security
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/gas/sechailer
@@ -152,7 +162,6 @@
backpack = /obj/item/storage/backpack/security
satchel = /obj/item/storage/backpack/satchel/sec
duffelbag = /obj/item/storage/backpack/duffelbag/sec
- belt = /obj/item/pda/warden
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
@@ -161,13 +170,14 @@
jobtype = /datum/job/cargo_tech
+ pda_type = /obj/item/pda/cargo
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
uniform = /obj/item/clothing/under/plasmaman/cargo
ears = /obj/item/radio/headset/headset_cargo
l_hand = /obj/item/export_scanner
- belt = /obj/item/pda/cargo
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/quartermaster
@@ -175,6 +185,8 @@
jobtype = /datum/job/qm
+ pda_type = /obj/item/pda/quartermaster
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -183,7 +195,6 @@
shoes = /obj/item/clothing/shoes/sneakers/brown
glasses = /obj/item/clothing/glasses/sunglasses
l_hand = /obj/item/clipboard
- belt = /obj/item/pda/quartermaster
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/miner
@@ -191,6 +202,8 @@
jobtype = /datum/job/mining
+ pda_type = /obj/item/pda/shaftminer
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -203,7 +216,6 @@
backpack = /obj/item/storage/backpack/explorer
satchel = /obj/item/storage/backpack/satchel/explorer
duffelbag = /obj/item/storage/backpack/duffelbag
- belt = /obj/item/pda/shaftminer
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
@@ -212,6 +224,8 @@
jobtype = /datum/job/lawyer
+ pda_type = /obj/item/pda/lawyer
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -224,7 +238,6 @@
l_hand = /obj/item/storage/briefcase/lawyer
l_pocket = /obj/item/laser_pointer
r_pocket = /obj/item/clothing/accessory/lawyers_badge
- belt = /obj/item/pda/lawyer
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
@@ -233,6 +246,8 @@
jobtype = /datum/job/doctor
+ pda_type = /obj/item/pda/medical
+
head = /obj/item/clothing/head/helmet/space/plasmaman/blue
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -244,7 +259,6 @@
backpack = /obj/item/storage/backpack/medic
satchel = /obj/item/storage/backpack/satchel/med
duffelbag = /obj/item/storage/backpack/duffelbag/med
- belt = /obj/item/pda/medical
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/virologist
@@ -252,6 +266,8 @@
jobtype = /datum/job/virologist
+ pda_type = /obj/item/pda/viro
+
head = /obj/item/clothing/head/helmet/space/plasmaman/viro
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -263,7 +279,6 @@
backpack = /obj/item/storage/backpack/virology
satchel = /obj/item/storage/backpack/satchel/vir
duffelbag = /obj/item/storage/backpack/duffelbag/med
- belt = /obj/item/pda/viro
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/chemist
@@ -271,6 +286,8 @@
jobtype = /datum/job/chemist
+ pda_type = /obj/item/pda/chemist
+
head = /obj/item/clothing/head/helmet/space/plasmaman/blue
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -282,7 +299,6 @@
backpack = /obj/item/storage/backpack/chemistry
satchel = /obj/item/storage/backpack/satchel/chem
duffelbag = /obj/item/storage/backpack/duffelbag/med
- belt = /obj/item/pda/chemist
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/geneticist
@@ -290,6 +306,8 @@
jobtype = /datum/job/geneticist
+ pda_type = /obj/item/pda/geneticist
+
head = /obj/item/clothing/head/helmet/space/plasmaman/blue
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -302,7 +320,6 @@
backpack = /obj/item/storage/backpack/genetics
satchel = /obj/item/storage/backpack/satchel/gen
duffelbag = /obj/item/storage/backpack/duffelbag/med
- belt = /obj/item/pda/geneticist
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
@@ -311,6 +328,8 @@
jobtype = /datum/job/scientist
+ pda_type = /obj/item/pda/toxins
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -320,7 +339,6 @@
suit = /obj/item/clothing/suit/toggle/labcoat/science
backpack = /obj/item/storage/backpack/science
satchel = /obj/item/storage/backpack/satchel/tox
- belt = /obj/item/pda/toxins
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/roboticist
@@ -328,6 +346,8 @@
jobtype = /datum/job/roboticist
+ pda_type = /obj/item/pda/roboticist
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -337,15 +357,17 @@
suit = /obj/item/clothing/suit/toggle/labcoat
backpack = /obj/item/storage/backpack/science
satchel = /obj/item/storage/backpack/satchel/tox
- l_pocket = /obj/item/pda/roboticist
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
+ pda_slot = SLOT_L_STORE
/datum/outfit/job/plasmaman/engineer
name = "Plasmaman Station Engineer"
jobtype = /datum/job/engineer
+ pda_type = /obj/item/pda/engineering
+
head = /obj/item/clothing/head/helmet/space/plasmaman/engineering
uniform = /obj/item/clothing/under/plasmaman/engineering
r_hand= /obj/item/tank/internals/plasmaman/belt/full
@@ -357,14 +379,17 @@
backpack = /obj/item/storage/backpack/industrial
satchel = /obj/item/storage/backpack/satchel/eng
duffelbag = /obj/item/storage/backpack/duffelbag/engineering
- l_pocket = /obj/item/pda/engineering
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
+ pda_slot = SLOT_L_STORE
+
/datum/outfit/job/plasmaman/atmos
name = "Plasmaman Atmospheric Technician"
jobtype = /datum/job/atmos
+ pda_type = /obj/item/pda/atmos
+
head = /obj/item/clothing/head/helmet/space/plasmaman/engineering
uniform = /obj/item/clothing/under/plasmaman/atmospherics
r_hand= /obj/item/tank/internals/plasmaman/belt/full
@@ -375,14 +400,17 @@
backpack = /obj/item/storage/backpack/industrial
satchel = /obj/item/storage/backpack/satchel/eng
duffelbag = /obj/item/storage/backpack/duffelbag/engineering
- l_pocket = /obj/item/pda/atmos
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
+ pda_slot = SLOT_L_STORE
+
/datum/outfit/job/plasmaman/mime
name = "Plasmaman Mime"
jobtype = /datum/job/mime
+ pda_type = /obj/item/pda/mime
+
head = /obj/item/clothing/head/helmet/space/plasmaman/mime
uniform = /obj/item/clothing/under/plasmaman/mime
mask = /obj/item/clothing/mask/gas/mime
@@ -392,7 +420,6 @@
suit = /obj/item/clothing/suit/suspenders
backpack = /obj/item/storage/backpack/mime
satchel = /obj/item/storage/backpack/mime
- belt = /obj/item/pda/mime
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/clown
@@ -400,6 +427,8 @@
jobtype = /datum/job/clown
+ pda_type = /obj/item/pda/clown
+
head = /obj/item/clothing/head/helmet/space/plasmaman/clown
uniform = /obj/item/clothing/under/plasmaman/clown
mask = /obj/item/clothing/mask/gas/clown_hat
@@ -407,7 +436,6 @@
ears = /obj/item/radio/headset/headset_srv
shoes = /obj/item/clothing/shoes/clown_shoes
l_pocket = /obj/item/bikehorn
- belt = /obj/item/pda/clown
backpack = /obj/item/storage/backpack/clown
satchel = /obj/item/storage/backpack/clown
duffelbag = /obj/item/storage/backpack/duffelbag/clown
@@ -418,11 +446,12 @@
jobtype = /datum/job/signal_tech
+ pda_type = /obj/item/pda/signaltech
+
head = /obj/item/clothing/head/helmet/space/plasmaman/engineering
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
belt = /obj/item/storage/belt/utility/full
- l_pocket = /obj/item/pda/signaltech
ears = /obj/item/radio/headset/headset_eng
uniform = /obj/item/clothing/under/plasmaman/engineering
suit = /obj/item/clothing/suit/hooded/wintercoat/engineering/tcomms
@@ -433,6 +462,8 @@
duffelbag = /obj/item/storage/backpack/duffelbag/engineering
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
+ pda_slot = SLOT_L_STORE
+
/datum/outfit/job/plasmaman/miningmedic
name = "Plasmaman Mining Medic"
@@ -457,17 +488,20 @@
satchel = /obj/item/storage/backpack/satchel/med
duffelbag = /obj/item/storage/backpack/duffelbag/med
+ pda_slot = SLOT_L_STORE
+
/datum/outfit/job/plasmaman/paramedic
name = "Plasmaman Paramedic"
jobtype = /datum/job/paramedic
+ pda_type = /obj/item/pda/para
+
head = /obj/item/clothing/head/helmet/space/plasmaman/blue
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
backpack_contents = list(/obj/item/storage/firstaid/regular = 1,\
/obj/item/storage/box/plasmaman = 1)
- belt = /obj/item/pda/para
ears = /obj/item/radio/headset/headset_med
uniform = /obj/item/clothing/under/plasmaman/medical
suit = /obj/item/clothing/suit/toggle/labcoat/emt
@@ -492,7 +526,6 @@
uniform = /obj/item/clothing/under/plasmaman/enviroslacks
l_hand = /obj/item/storage/briefcase
glasses = /obj/item/clothing/glasses/regular
- belt = /obj/item/pda
ears = /obj/item/radio/headset/headset_med
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
@@ -501,12 +534,13 @@
jobtype = /datum/job/brigphysician
+ pda_type = /obj/item/pda/physician
+
head = /obj/item/clothing/head/helmet/space/plasmaman/blue
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
backpack_contents = list(/obj/item/roller = 1,\
/obj/item/storage/box/plasmaman = 1)
- belt = /obj/item/pda/physician
ears = /obj/item/radio/headset/headset_medsec
glasses = /obj/item/clothing/glasses/hud/health/sunglasses
shoes = /obj/item/clothing/shoes/jackboots
@@ -526,7 +560,6 @@
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
- belt = /obj/item/pda
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/plasmaman/enviroslacks
shoes = /obj/item/clothing/shoes/sneakers/black
@@ -544,7 +577,6 @@
uniform = /obj/item/clothing/under/plasmaman
shoes = /obj/item/clothing/shoes/sneakers/black
ears = /obj/item/radio/headset
- belt = /obj/item/pda
backpack_contents = list(/obj/item/camera_film, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c20, /obj/item/storage/box/plasmaman = 1)
l_hand = /obj/item/camera
l_pocket = /obj/item/camera_film
@@ -562,7 +594,6 @@
uniform = /obj/item/clothing/under/plasmaman
shoes = /obj/item/clothing/shoes/sneakers/black
ears = /obj/item/radio/headset
- belt = /obj/item/pda
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/artist
@@ -570,12 +601,14 @@
jobtype = /datum/job/artist
+ id_type = /obj/item/card/id/silver
+ pda_type = /obj/item/pda/artist
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
uniform = /obj/item/clothing/under/plasmaman
shoes = /obj/item/clothing/shoes/sneakers/black
- belt = /obj/item/pda/artist
ears = /obj/item/radio/headset/headset_srv
gloves = /obj/item/clothing/gloves/fingerless
neck = /obj/item/clothing/neck/artist
@@ -587,7 +620,9 @@
jobtype = /datum/job/chief_engineer
- id = /obj/item/card/id/silver
+ id_type = /obj/item/card/id/silver
+ pda_type = /obj/item/pda/heads/ce
+
head = /obj/item/clothing/head/helmet/space/plasmaman/engineering
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -599,7 +634,6 @@
backpack = /obj/item/storage/backpack/industrial
satchel = /obj/item/storage/backpack/satchel/eng
duffelbag = /obj/item/storage/backpack/duffelbag/engineering
- l_pocket = /obj/item/pda/heads/ce
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)
/datum/outfit/job/plasmaman/rd
@@ -607,7 +641,9 @@
jobtype = /datum/job/rd
- id = /obj/item/card/id/silver
+ id_type = /obj/item/card/id/silver
+ pda_type = /obj/item/pda/heads/rd
+
head = /obj/item/clothing/head/helmet/space/plasmaman
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
@@ -615,7 +651,6 @@
shoes = /obj/item/clothing/shoes/sneakers/brown
ears = /obj/item/radio/headset/heads/rd
glasses = /obj/item/clothing/glasses/hud/diagnostic/sunglasses
- belt = /obj/item/pda/heads/rd
suit = /obj/item/clothing/suit/toggle/labcoat/science
backpack = /obj/item/storage/backpack/science
satchel = /obj/item/storage/backpack/satchel/tox
diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm
index 23e2a3f08e1d..03930d918dd8 100644
--- a/code/modules/jobs/job_types/_job.dm
+++ b/code/modules/jobs/job_types/_job.dm
@@ -206,13 +206,13 @@
var/jobtype = null
uniform = /obj/item/clothing/under/color/grey
- id = /obj/item/card/id
ears = /obj/item/radio/headset
- belt = /obj/item/pda
back = /obj/item/storage/backpack
shoes = /obj/item/clothing/shoes/sneakers/black
box = /obj/item/storage/box/survival
+ var/obj/item/id_type = /obj/item/card/id
+ var/obj/item/pda_type = /obj/item/pda
var/backpack = /obj/item/storage/backpack
var/satchel = /obj/item/storage/backpack/satchel
var/duffelbag = /obj/item/storage/backpack/duffelbag
@@ -262,7 +262,7 @@
if(!J)
J = SSjob.GetJob(H.job)
- var/obj/item/card/id/C = H.wear_id
+ var/obj/item/card/id/C = new id_type()
if(istype(C))
C.access = J.get_access()
shuffle_inplace(C.access) // Shuffle access list to make NTNet passkeys less predictable
@@ -286,14 +286,27 @@
break
H.sec_hud_set_ID()
- var/obj/item/pda/PDA = H.get_item_by_slot(pda_slot)
+ var/obj/item/pda/PDA = new pda_type()
if(istype(PDA))
PDA.owner = H.real_name
if(H.mind?.role_alt_title)
PDA.ownjob = H.mind.role_alt_title
else
PDA.ownjob = J.title
+
+ if (H.id_in_pda)
+ PDA.InsertID(C)
+ H.equip_to_slot_if_possible(PDA, SLOT_WEAR_ID)
+ else // just in case you hate change
+ H.equip_to_slot_if_possible(PDA, pda_slot)
+ H.equip_to_slot_if_possible(C, SLOT_WEAR_ID)
+
PDA.update_label()
+ PDA.update_icon()
+ PDA.update_filters()
+
+ else
+ H.equip_to_slot_if_possible(C, SLOT_WEAR_ID)
/datum/outfit/job/get_chameleon_disguise_info()
var/list/types = ..()
diff --git a/code/modules/jobs/job_types/artist.dm b/code/modules/jobs/job_types/artist.dm
index ebb1d041ad33..891ad2836875 100644
--- a/code/modules/jobs/job_types/artist.dm
+++ b/code/modules/jobs/job_types/artist.dm
@@ -21,9 +21,10 @@
/datum/outfit/job/artist
name = "Artist"
jobtype = /datum/job/artist
+
+ pda_type = /obj/item/pda/artist
head = /obj/item/clothing/head/frenchberet
- belt = /obj/item/pda/artist
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/rank/artist
uniform_skirt = /obj/item/clothing/under/rank/artist/skirt
diff --git a/code/modules/jobs/job_types/atmospheric_technician.dm b/code/modules/jobs/job_types/atmospheric_technician.dm
index 841f73e5e39e..caa631b92d8a 100644
--- a/code/modules/jobs/job_types/atmospheric_technician.dm
+++ b/code/modules/jobs/job_types/atmospheric_technician.dm
@@ -35,8 +35,9 @@
name = "Atmospheric Technician"
jobtype = /datum/job/atmos
+ pda_type = /obj/item/pda/atmos
+
belt = /obj/item/storage/belt/utility/atmostech
- l_pocket = /obj/item/pda/atmos
ears = /obj/item/radio/headset/headset_eng
uniform = /obj/item/clothing/under/rank/atmospheric_technician
uniform_skirt = /obj/item/clothing/under/rank/atmospheric_technician/skirt
@@ -46,9 +47,10 @@
satchel = /obj/item/storage/backpack/satchel/eng
duffelbag = /obj/item/storage/backpack/duffelbag/engineering
box = /obj/item/storage/box/engineer
- pda_slot = SLOT_L_STORE
backpack_contents = list(/obj/item/modular_computer/tablet/pda/preset/basic/atmos=1)
+ pda_slot = SLOT_L_STORE
+
/datum/outfit/job/atmos/rig
name = "Atmospheric Technician (Hardsuit)"
diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm
index dfed18dd2430..2c68d67ef6c4 100644
--- a/code/modules/jobs/job_types/bartender.dm
+++ b/code/modules/jobs/job_types/bartender.dm
@@ -30,8 +30,9 @@
name = "Bartender"
jobtype = /datum/job/bartender
+ pda_type = /obj/item/pda/bar
+
glasses = /obj/item/clothing/glasses/sunglasses/reagent
- belt = /obj/item/pda/bar
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/rank/bartender
uniform_skirt = /obj/item/clothing/under/rank/bartender/skirt
diff --git a/code/modules/jobs/job_types/botanist.dm b/code/modules/jobs/job_types/botanist.dm
index 9ed71fb575be..cba740a2aa3d 100644
--- a/code/modules/jobs/job_types/botanist.dm
+++ b/code/modules/jobs/job_types/botanist.dm
@@ -33,7 +33,8 @@
name = "Botanist"
jobtype = /datum/job/hydro
- belt = /obj/item/pda/botanist
+ pda_type = /obj/item/pda/botanist
+
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/rank/hydroponics
uniform_skirt = /obj/item/clothing/under/rank/hydroponics/skirt
diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm
index cd2dcb17767f..9b19371509d5 100755
--- a/code/modules/jobs/job_types/captain.dm
+++ b/code/modules/jobs/job_types/captain.dm
@@ -39,8 +39,9 @@
name = "Captain"
jobtype = /datum/job/captain
- id = /obj/item/card/id/gold
- belt = /obj/item/pda/captain
+ id_type = /obj/item/card/id/gold
+ pda_type = /obj/item/pda/captain
+
glasses = /obj/item/clothing/glasses/sunglasses
ears = /obj/item/radio/headset/heads/captain/alt
gloves = /obj/item/clothing/gloves/color/captain
diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm
index 46bd98c8898a..058efed7014c 100644
--- a/code/modules/jobs/job_types/cargo_technician.dm
+++ b/code/modules/jobs/job_types/cargo_technician.dm
@@ -37,7 +37,8 @@
name = "Cargo Technician"
jobtype = /datum/job/cargo_tech
- belt = /obj/item/pda/cargo
+ pda_type = /obj/item/pda/cargo
+
ears = /obj/item/radio/headset/headset_cargo
uniform = /obj/item/clothing/under/rank/cargotech
uniform_skirt = /obj/item/clothing/under/rank/cargotech/skirt
diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm
index cd921a35b619..43565135708a 100644
--- a/code/modules/jobs/job_types/chaplain.dm
+++ b/code/modules/jobs/job_types/chaplain.dm
@@ -156,7 +156,8 @@
name = "Chaplain"
jobtype = /datum/job/chaplain
- belt = /obj/item/pda/chaplain
+ pda_type = /obj/item/pda/chaplain
+
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/rank/chaplain
uniform_skirt = /obj/item/clothing/under/rank/chaplain/skirt
diff --git a/code/modules/jobs/job_types/chemist.dm b/code/modules/jobs/job_types/chemist.dm
index d88bb37fa69f..b1de061ad6ca 100644
--- a/code/modules/jobs/job_types/chemist.dm
+++ b/code/modules/jobs/job_types/chemist.dm
@@ -36,8 +36,9 @@
name = "Chemist"
jobtype = /datum/job/chemist
+ pda_type = /obj/item/pda/chemist
+
glasses = /obj/item/clothing/glasses/science
- belt = /obj/item/pda/chemist
ears = /obj/item/radio/headset/headset_med
uniform = /obj/item/clothing/under/rank/chemist
uniform_skirt = /obj/item/clothing/under/rank/chemist/skirt
diff --git a/code/modules/jobs/job_types/chief_engineer.dm b/code/modules/jobs/job_types/chief_engineer.dm
index 16223004efa7..029a80c49763 100644
--- a/code/modules/jobs/job_types/chief_engineer.dm
+++ b/code/modules/jobs/job_types/chief_engineer.dm
@@ -36,9 +36,10 @@
name = "Chief Engineer"
jobtype = /datum/job/chief_engineer
- id = /obj/item/card/id/silver
+ id_type = /obj/item/card/id/silver
+ pda_type = /obj/item/pda/heads/ce
+
belt = /obj/item/storage/belt/utility/chief/full
- l_pocket = /obj/item/pda/heads/ce
ears = /obj/item/radio/headset/heads/ce
uniform = /obj/item/clothing/under/rank/chief_engineer
uniform_skirt = /obj/item/clothing/under/rank/chief_engineer/skirt
@@ -53,9 +54,10 @@
satchel = /obj/item/storage/backpack/satchel/eng
duffelbag = /obj/item/storage/backpack/duffelbag/engineering
box = /obj/item/storage/box/engineer
- pda_slot = SLOT_L_STORE
chameleon_extras = /obj/item/stamp/ce
+ pda_slot = SLOT_L_STORE
+
/datum/outfit/job/ce/rig
name = "Chief Engineer (Hardsuit)"
diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm
index 0e770f465b7d..8887e9a56e3e 100644
--- a/code/modules/jobs/job_types/chief_medical_officer.dm
+++ b/code/modules/jobs/job_types/chief_medical_officer.dm
@@ -39,8 +39,9 @@
name = "Chief Medical Officer"
jobtype = /datum/job/cmo
- id = /obj/item/card/id/silver
- belt = /obj/item/pda/heads/cmo
+ id_type = /obj/item/card/id/silver
+ pda_type = /obj/item/pda/heads/cmo
+
l_pocket = /obj/item/pinpointer/crew
ears = /obj/item/radio/headset/heads/cmo
uniform = /obj/item/clothing/under/rank/chief_medical_officer
diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm
index 36f43b0504b0..ab4ab4dfa290 100644
--- a/code/modules/jobs/job_types/clown.dm
+++ b/code/modules/jobs/job_types/clown.dm
@@ -29,7 +29,8 @@
name = "Clown"
jobtype = /datum/job/clown
- belt = /obj/item/pda/clown
+ pda_type = /obj/item/pda/clown
+
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/rank/clown
shoes = /obj/item/clothing/shoes/clown_shoes
diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm
index a654e5706a2a..0faaa10c4770 100644
--- a/code/modules/jobs/job_types/cook.dm
+++ b/code/modules/jobs/job_types/cook.dm
@@ -35,7 +35,8 @@
name = "Cook"
jobtype = /datum/job/cook
- belt = /obj/item/pda/cook
+ pda_type = /obj/item/pda/cook
+
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/rank/chef
uniform_skirt = /obj/item/clothing/under/rank/chef/skirt
diff --git a/code/modules/jobs/job_types/curator.dm b/code/modules/jobs/job_types/curator.dm
index 4760e23e9e6b..f7a2ea985591 100644
--- a/code/modules/jobs/job_types/curator.dm
+++ b/code/modules/jobs/job_types/curator.dm
@@ -24,7 +24,8 @@
name = "Curator"
jobtype = /datum/job/curator
- belt = /obj/item/pda/curator
+ pda_type = /obj/item/pda/curator
+
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/rank/curator
uniform_skirt = /obj/item/clothing/under/rank/curator/skirt
diff --git a/code/modules/jobs/job_types/detective.dm b/code/modules/jobs/job_types/detective.dm
index fa776183d3db..910ce681bbe7 100644
--- a/code/modules/jobs/job_types/detective.dm
+++ b/code/modules/jobs/job_types/detective.dm
@@ -40,7 +40,8 @@
name = "Detective"
jobtype = /datum/job/detective
- belt = /obj/item/pda/detective
+ pda_type = /obj/item/pda/detective
+
ears = /obj/item/radio/headset/headset_sec/alt
uniform = /obj/item/clothing/under/rank/det
uniform_skirt = /obj/item/clothing/under/rank/det/skirt
diff --git a/code/modules/jobs/job_types/geneticist.dm b/code/modules/jobs/job_types/geneticist.dm
index dc306bb16b70..9207086fa890 100644
--- a/code/modules/jobs/job_types/geneticist.dm
+++ b/code/modules/jobs/job_types/geneticist.dm
@@ -34,7 +34,8 @@
name = "Geneticist"
jobtype = /datum/job/geneticist
- belt = /obj/item/pda/geneticist
+ pda_type = /obj/item/pda/geneticist
+
ears = /obj/item/radio/headset/headset_medsci
uniform = /obj/item/clothing/under/rank/geneticist
uniform_skirt = /obj/item/clothing/under/rank/geneticist
diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm
index 360e1a5eca7b..4c485d68ac9d 100644
--- a/code/modules/jobs/job_types/head_of_personnel.dm
+++ b/code/modules/jobs/job_types/head_of_personnel.dm
@@ -48,8 +48,9 @@
name = "Head of Personnel"
jobtype = /datum/job/hop
- id = /obj/item/card/id/silver
- belt = /obj/item/pda/heads/hop
+ id_type = /obj/item/card/id/silver
+ pda_type = /obj/item/pda/heads/hop
+
ears = /obj/item/radio/headset/heads/hop
uniform = /obj/item/clothing/under/rank/head_of_personnel
uniform_skirt = /obj/item/clothing/under/rank/head_of_personnel/skirt
diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm
index 801f7b24b9f4..89466a2eca73 100644
--- a/code/modules/jobs/job_types/head_of_security.dm
+++ b/code/modules/jobs/job_types/head_of_security.dm
@@ -43,8 +43,9 @@
name = "Head of Security"
jobtype = /datum/job/hos
- id = /obj/item/card/id/silver
- belt = /obj/item/pda/heads/hos
+ id_type = /obj/item/card/id/silver
+ pda_type = /obj/item/pda/heads/hos
+
ears = /obj/item/radio/headset/heads/hos/alt
uniform = /obj/item/clothing/under/rank/head_of_security
uniform_skirt = /obj/item/clothing/under/rank/head_of_security/skirt
diff --git a/code/modules/jobs/job_types/janitor.dm b/code/modules/jobs/job_types/janitor.dm
index 1ad1521c74e6..a7109a7a164d 100644
--- a/code/modules/jobs/job_types/janitor.dm
+++ b/code/modules/jobs/job_types/janitor.dm
@@ -35,7 +35,8 @@
name = "Janitor"
jobtype = /datum/job/janitor
- belt = /obj/item/pda/janitor
+ pda_type = /obj/item/pda/janitor
+
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/rank/janitor
uniform_skirt = /obj/item/clothing/under/rank/janitor/skirt
diff --git a/code/modules/jobs/job_types/lawyer.dm b/code/modules/jobs/job_types/lawyer.dm
index fe05f7825a0a..0317180cbbd8 100644
--- a/code/modules/jobs/job_types/lawyer.dm
+++ b/code/modules/jobs/job_types/lawyer.dm
@@ -30,7 +30,8 @@
name = "Lawyer"
jobtype = /datum/job/lawyer
- belt = /obj/item/pda/lawyer
+ pda_type = /obj/item/pda/lawyer
+
ears = /obj/item/radio/headset/headset_srvsec
uniform = /obj/item/clothing/under/lawyer/bluesuit
uniform_skirt = /obj/item/clothing/under/lawyer/bluesuit/skirt
diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm
index fe16b429edc1..10617f5c5fa4 100644
--- a/code/modules/jobs/job_types/medical_doctor.dm
+++ b/code/modules/jobs/job_types/medical_doctor.dm
@@ -39,7 +39,8 @@
name = "Medical Doctor"
jobtype = /datum/job/doctor
- belt = /obj/item/pda/medical
+ pda_type= /obj/item/pda/medical
+
ears = /obj/item/radio/headset/headset_med
uniform = /obj/item/clothing/under/rank/medical
uniform_skirt = /obj/item/clothing/under/rank/medical/skirt
diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm
index 9ef61ae72d5b..3d6f6197cc08 100644
--- a/code/modules/jobs/job_types/mime.dm
+++ b/code/modules/jobs/job_types/mime.dm
@@ -27,7 +27,8 @@
name = "Mime"
jobtype = /datum/job/mime
- belt = /obj/item/pda/mime
+ pda_type = /obj/item/pda/mime
+
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/rank/mime
uniform_skirt = /obj/item/clothing/under/rank/mime/skirt
diff --git a/code/modules/jobs/job_types/quartermaster.dm b/code/modules/jobs/job_types/quartermaster.dm
index 194c35926270..974411139ef0 100644
--- a/code/modules/jobs/job_types/quartermaster.dm
+++ b/code/modules/jobs/job_types/quartermaster.dm
@@ -29,7 +29,8 @@
name = "Quartermaster"
jobtype = /datum/job/qm
- belt = /obj/item/pda/quartermaster
+ pda_type = /obj/item/pda/quartermaster
+
ears = /obj/item/radio/headset/headset_cargo
uniform = /obj/item/clothing/under/rank/cargo
uniform_skirt = /obj/item/clothing/under/rank/cargo/skirt
diff --git a/code/modules/jobs/job_types/research_director.dm b/code/modules/jobs/job_types/research_director.dm
index 5059d98b01a1..edea5b86ea19 100644
--- a/code/modules/jobs/job_types/research_director.dm
+++ b/code/modules/jobs/job_types/research_director.dm
@@ -44,8 +44,9 @@
name = "Research Director"
jobtype = /datum/job/rd
- id = /obj/item/card/id/silver
- belt = /obj/item/pda/heads/rd
+ id_type = /obj/item/card/id/silver
+ pda_type = /obj/item/pda/heads/rd
+
ears = /obj/item/radio/headset/heads/rd
glasses = /obj/item/clothing/glasses/hud/diagnostic/sunglasses
uniform = /obj/item/clothing/under/rank/research_director
diff --git a/code/modules/jobs/job_types/roboticist.dm b/code/modules/jobs/job_types/roboticist.dm
index 5dacf5f61f25..106cb11cf0e4 100644
--- a/code/modules/jobs/job_types/roboticist.dm
+++ b/code/modules/jobs/job_types/roboticist.dm
@@ -30,8 +30,9 @@
name = "Roboticist"
jobtype = /datum/job/roboticist
+ pda_type = /obj/item/pda/roboticist
+
belt = /obj/item/storage/belt/utility/full
- l_pocket = /obj/item/pda/roboticist
ears = /obj/item/radio/headset/headset_sci
uniform = /obj/item/clothing/under/rank/roboticist
uniform_skirt = /obj/item/clothing/under/rank/roboticist/skirt
diff --git a/code/modules/jobs/job_types/scientist.dm b/code/modules/jobs/job_types/scientist.dm
index ad2b55c088e1..81687dbf2aec 100644
--- a/code/modules/jobs/job_types/scientist.dm
+++ b/code/modules/jobs/job_types/scientist.dm
@@ -38,7 +38,8 @@
name = "Scientist"
jobtype = /datum/job/scientist
- belt = /obj/item/pda/toxins
+ pda_type = /obj/item/pda/toxins
+
ears = /obj/item/radio/headset/headset_sci
uniform = /obj/item/clothing/under/rank/scientist
uniform_skirt = /obj/item/clothing/under/rank/scientist/skirt
diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm
index b6db42902600..3d94107dfe81 100644
--- a/code/modules/jobs/job_types/security_officer.dm
+++ b/code/modules/jobs/job_types/security_officer.dm
@@ -106,7 +106,7 @@ GLOBAL_LIST_INIT(available_depts_sec, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICA
qdel(H.ears)
H.equip_to_slot_or_del(new ears(H),SLOT_EARS)
- var/obj/item/card/id/W = H.wear_id
+ var/obj/item/card/id/W = H.get_idcard()
W.access |= dep_access
var/teleport = 0
@@ -138,7 +138,8 @@ GLOBAL_LIST_INIT(available_depts_sec, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICA
name = "Security Officer"
jobtype = /datum/job/officer
- belt = /obj/item/pda/security
+ pda_type = /obj/item/pda/security
+
ears = /obj/item/radio/headset/headset_sec/alt
uniform = /obj/item/clothing/under/rank/security
uniform_skirt = /obj/item/clothing/under/rank/security/skirt
diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm
index 3cb25ae9e2b0..700e715620d0 100644
--- a/code/modules/jobs/job_types/shaft_miner.dm
+++ b/code/modules/jobs/job_types/shaft_miner.dm
@@ -37,7 +37,8 @@
name = "Shaft Miner"
jobtype = /datum/job/mining
- belt = /obj/item/pda/shaftminer
+ pda_type = /obj/item/pda/shaftminer
+
ears = /obj/item/radio/headset/headset_cargo/mining
shoes = /obj/item/clothing/shoes/workboots/mining
gloves = /obj/item/clothing/gloves/color/black
diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm
index 741b95ee6f1f..f6c7bc09cdad 100644
--- a/code/modules/jobs/job_types/station_engineer.dm
+++ b/code/modules/jobs/job_types/station_engineer.dm
@@ -79,7 +79,7 @@ GLOBAL_LIST_INIT(available_depts_eng, list(ENG_DEPT_MEDICAL, ENG_DEPT_SCIENCE, E
qdel(H.ears)
H.equip_to_slot_or_del(new ears(H),SLOT_EARS)
- var/obj/item/card/id/W = H.wear_id
+ var/obj/item/card/id/W = H.get_idcard()
W.access |= dep_access
if(department)
@@ -91,8 +91,9 @@ GLOBAL_LIST_INIT(available_depts_eng, list(ENG_DEPT_MEDICAL, ENG_DEPT_SCIENCE, E
name = "Station Engineer"
jobtype = /datum/job/engineer
+ pda_type = /obj/item/pda/engineering
+
belt = /obj/item/storage/belt/utility/full/engi
- l_pocket = /obj/item/pda/engineering
ears = /obj/item/radio/headset/headset_eng
uniform = /obj/item/clothing/under/rank/engineer
uniform_skirt = /obj/item/clothing/under/rank/engineer/skirt
@@ -104,9 +105,10 @@ GLOBAL_LIST_INIT(available_depts_eng, list(ENG_DEPT_MEDICAL, ENG_DEPT_SCIENCE, E
satchel = /obj/item/storage/backpack/satchel/eng
duffelbag = /obj/item/storage/backpack/duffelbag/engineering
box = /obj/item/storage/box/engineer
- pda_slot = SLOT_L_STORE
backpack_contents = list(/obj/item/modular_computer/tablet/pda/preset/basic=1)
+ pda_slot = SLOT_L_STORE
+
/datum/outfit/job/engineer/gloved
name = "Station Engineer (Gloves)"
gloves = /obj/item/clothing/gloves/color/yellow
diff --git a/code/modules/jobs/job_types/virologist.dm b/code/modules/jobs/job_types/virologist.dm
index aec2e2868f64..47369be4335f 100644
--- a/code/modules/jobs/job_types/virologist.dm
+++ b/code/modules/jobs/job_types/virologist.dm
@@ -32,7 +32,8 @@
name = "Virologist"
jobtype = /datum/job/virologist
- belt = /obj/item/pda/viro
+ pda_type = /obj/item/pda/viro
+
ears = /obj/item/radio/headset/headset_med
uniform = /obj/item/clothing/under/rank/virologist
uniform_skirt = /obj/item/clothing/under/rank/virologist/skirt
diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm
index 85e36ac9ed29..f8b5e127017d 100644
--- a/code/modules/jobs/job_types/warden.dm
+++ b/code/modules/jobs/job_types/warden.dm
@@ -44,7 +44,8 @@
name = "Warden"
jobtype = /datum/job/warden
- belt = /obj/item/pda/warden
+ pda_type = /obj/item/pda/warden
+
ears = /obj/item/radio/headset/headset_sec/alt
uniform = /obj/item/clothing/under/rank/warden
uniform_skirt = /obj/item/clothing/under/rank/warden/skirt
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index 8c986f207a5d..3051debb2b19 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -35,6 +35,7 @@
var/socks = "Nude" //Which socks the player wants
var/backbag = DBACKPACK //Which backpack type the player has chosen.
var/jumpsuit_style = PREF_SUIT //suit/skirt
+ var/id_in_pda = FALSE //Whether the player wants their ID to start in their PDA
//Equipment slots
var/obj/item/clothing/wear_suit = null
diff --git a/yogstation/code/modules/jobs/job_types/brig_physician.dm b/yogstation/code/modules/jobs/job_types/brig_physician.dm
index 051cf9199d6c..4b3c54f18421 100644
--- a/yogstation/code/modules/jobs/job_types/brig_physician.dm
+++ b/yogstation/code/modules/jobs/job_types/brig_physician.dm
@@ -34,8 +34,9 @@
name = "Brig Physician"
jobtype = /datum/job/brigphysician
+ pda_type = /obj/item/pda/physician
+
backpack_contents = list(/obj/item/roller = 1)
- belt = /obj/item/pda/physician
ears = /obj/item/radio/headset/headset_medsec
glasses = /obj/item/clothing/glasses/hud/health/sunglasses
shoes = /obj/item/clothing/shoes/jackboots
diff --git a/yogstation/code/modules/jobs/job_types/clerk.dm b/yogstation/code/modules/jobs/job_types/clerk.dm
index 44535c0214cf..c2299211958a 100644
--- a/yogstation/code/modules/jobs/job_types/clerk.dm
+++ b/yogstation/code/modules/jobs/job_types/clerk.dm
@@ -29,7 +29,6 @@
name = "Clerk"
jobtype = /datum/job/clerk
- belt = /obj/item/pda
ears = /obj/item/radio/headset/headset_srv
uniform = /obj/item/clothing/under/yogs/rank/clerk
shoes = /obj/item/clothing/shoes/sneakers/black
diff --git a/yogstation/code/modules/jobs/job_types/mining_medic.dm b/yogstation/code/modules/jobs/job_types/mining_medic.dm
index b1fd43888b45..f8d2058ad126 100644
--- a/yogstation/code/modules/jobs/job_types/mining_medic.dm
+++ b/yogstation/code/modules/jobs/job_types/mining_medic.dm
@@ -30,6 +30,8 @@
/datum/outfit/job/miningmedic
name = "Mining Medic"
jobtype = /datum/job/miningmedic
+
+ pda_type = /obj/item/pda/miningmed
backpack_contents = list(/obj/item/roller = 1,\
/obj/item/kitchen/knife/combat/survival = 1,\
@@ -41,7 +43,6 @@
suit = /obj/item/clothing/suit/toggle/labcoat/emt/explorer
uniform = /obj/item/clothing/under/yogs/rank/miner/medic
l_hand = /obj/item/storage/firstaid/regular
- l_pocket = /obj/item/pda/miningmed
gloves = /obj/item/clothing/gloves/color/latex
head = /obj/item/clothing/head/soft/emt/mining
backpack = /obj/item/storage/backpack/medic
diff --git a/yogstation/code/modules/jobs/job_types/paramedic.dm b/yogstation/code/modules/jobs/job_types/paramedic.dm
index b91ec3021279..9bfde9504c52 100644
--- a/yogstation/code/modules/jobs/job_types/paramedic.dm
+++ b/yogstation/code/modules/jobs/job_types/paramedic.dm
@@ -35,8 +35,9 @@
name = "Paramedic"
jobtype = /datum/job/paramedic
+ pda_type = /obj/item/pda/para
+
backpack_contents = list(/obj/item/storage/firstaid/regular)
- belt = /obj/item/pda/para
ears = /obj/item/radio/headset/headset_med
uniform = /obj/item/clothing/under/rank/medical
suit = /obj/item/clothing/suit/toggle/labcoat/emt
diff --git a/yogstation/code/modules/jobs/job_types/psychiatrist.dm b/yogstation/code/modules/jobs/job_types/psychiatrist.dm
index 45153da1b146..d5d6a38d16f9 100644
--- a/yogstation/code/modules/jobs/job_types/psychiatrist.dm
+++ b/yogstation/code/modules/jobs/job_types/psychiatrist.dm
@@ -33,5 +33,4 @@
uniform = /obj/item/clothing/under/suit_jacket/burgundy
l_hand = /obj/item/storage/briefcase
glasses = /obj/item/clothing/glasses/regular
- belt = /obj/item/pda
ears = /obj/item/radio/headset/headset_med
diff --git a/yogstation/code/modules/jobs/job_types/signal_technician.dm b/yogstation/code/modules/jobs/job_types/signal_technician.dm
index f5e12964dba5..349a27d3fc2f 100644
--- a/yogstation/code/modules/jobs/job_types/signal_technician.dm
+++ b/yogstation/code/modules/jobs/job_types/signal_technician.dm
@@ -31,8 +31,9 @@
name = "Signal Technician"
jobtype = /datum/job/signal_tech
+ pda_type = /obj/item/pda/signaltech
+
belt = /obj/item/storage/belt/utility/full
- l_pocket = /obj/item/pda/signaltech
ears = /obj/item/radio/headset/headset_eng
uniform = /obj/item/clothing/under/yogs/rank/signal_tech
suit = /obj/item/clothing/suit/hooded/wintercoat/engineering/tcomms
@@ -44,4 +45,5 @@
satchel = /obj/item/storage/backpack/satchel/eng
duffelbag = /obj/item/storage/backpack/duffelbag/engineering
box = /obj/item/storage/box/engineer
+
pda_slot = SLOT_L_STORE
diff --git a/yogstation/code/modules/jobs/job_types/tourist.dm b/yogstation/code/modules/jobs/job_types/tourist.dm
index 826766b68b00..14658c5d25a6 100644
--- a/yogstation/code/modules/jobs/job_types/tourist.dm
+++ b/yogstation/code/modules/jobs/job_types/tourist.dm
@@ -22,7 +22,6 @@
uniform = /obj/item/clothing/under/yogs/tourist
shoes = /obj/item/clothing/shoes/sneakers/black
ears = /obj/item/radio/headset
- belt = /obj/item/pda
backpack_contents = list(/obj/item/camera_film, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c20)
r_hand = /obj/item/camera
l_pocket = /obj/item/camera_film