diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm index 402b553bc7e..ffcee580997 100644 --- a/code/_helpers/global_lists.dm +++ b/code/_helpers/global_lists.dm @@ -67,10 +67,10 @@ var/global/list/exclude_jobs = list(/datum/job/ai,/datum/job/cyborg, /datum/job/ var/global/list/pdalist = list("Nothing", "Standard PDA", "Classic PDA", "Rugged PDA", "Slate PDA", "Smart PDA", "Tablet", "Wristbound") //Headset choice -var/global/list/headsetlist = list("Nothing", "Headset", "Bowman Headset") +var/global/list/headsetlist = list("Nothing", "Headset", "Bowman Headset", "Double Headset", "Wristbound Radio") // Primary Radio Slot choice -var/global/list/primary_radio_slot_choice = list("Left Ear", "Right Ear") +var/global/list/primary_radio_slot_choice = list("Left Ear", "Right Ear", "Wrist") // Visual nets var/list/datum/visualnet/visual_nets = list() diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index b0574533d20..969410554b7 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -29,6 +29,8 @@ #define OUTFIT_HEADSET 2 #define OUTFIT_BOWMAN 3 +#define OUTFIT_DOUBLE 4 +#define OUTFIT_WRISTRAD 5 /datum/outfit var/name = "Naked" @@ -98,6 +100,8 @@ var/allow_headset_choice = FALSE var/headset = /obj/item/device/radio/headset var/bowman = /obj/item/device/radio/headset/alt + var/double_headset = /obj/item/device/radio/headset/alt/double + var/wrist_radio = /obj/item/device/radio/headset/wrist var/internals_slot = null //ID of slot containing a gas tank var/list/backpack_contents = list() //In the list(path=count,otherpath=count) format @@ -164,10 +168,17 @@ l_ear = null if (OUTFIT_BOWMAN) l_ear = bowman + if (OUTFIT_DOUBLE) + l_ear = double_headset + if (OUTFIT_WRISTRAD) + l_ear = null + wrist = wrist_radio else l_ear = headset //Department headset if(l_ear) equip_item(H, l_ear, slot_l_ear, TRUE) + else if (wrist) + equip_item(H, wrist, slot_wrists, TRUE) return diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index 69c91973fd2..400328d8de8 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -31,13 +31,18 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) uniform = /obj/item/clothing/under/rank/captain shoes = /obj/item/clothing/shoes/brown head = /obj/item/clothing/head/caphat - headset = /obj/item/device/radio/headset/heads/captain - bowman = /obj/item/device/radio/headset/heads/captain/alt glasses = /obj/item/clothing/glasses/sunglasses id = /obj/item/card/id/gold + + headset = /obj/item/device/radio/headset/heads/captain + bowman = /obj/item/device/radio/headset/heads/captain/alt + double_headset = /obj/item/device/radio/headset/alt/double/captain + wrist_radio = /obj/item/device/radio/headset/wrist/captain + tab_pda = /obj/item/modular_computer/handheld/pda/command/captain wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/command/captain tablet = /obj/item/modular_computer/handheld/preset/command/captain + backpack_contents = list( /obj/item/storage/box/ids = 1 ) @@ -106,12 +111,17 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) uniform = /obj/item/clothing/under/rank/head_of_personnel shoes = /obj/item/clothing/shoes/brown + id = /obj/item/card/id/navy + headset = /obj/item/device/radio/headset/heads/hop bowman = /obj/item/device/radio/headset/heads/hop/alt - id = /obj/item/card/id/navy + double_headset = /obj/item/device/radio/headset/alt/double/hop + wrist_radio = /obj/item/device/radio/headset/wrist/hop + tab_pda = /obj/item/modular_computer/handheld/pda/command/hop wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/command/hop tablet = /obj/item/modular_computer/handheld/preset/command/hop + backpack_contents = list( /obj/item/storage/box/ids = 1 ) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index d58c3ce07af..2ed26c392e2 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -22,12 +22,16 @@ jobtype = /datum/job/bartender uniform = /obj/item/clothing/under/rank/bartender + shoes = /obj/item/clothing/shoes/black + tab_pda = /obj/item/modular_computer/handheld/pda/civilian/bartender wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/civilian/bartender tablet = /obj/item/modular_computer/handheld/preset/civilian/bartender - shoes = /obj/item/clothing/shoes/black + headset = /obj/item/device/radio/headset/headset_service bowman = /obj/item/device/radio/headset/headset_service/alt + double_headset = /obj/item/device/radio/headset/alt/double/service + wrist_radio = /obj/item/device/radio/headset/wrist/service /datum/job/chef @@ -55,12 +59,16 @@ uniform = /obj/item/clothing/under/rank/chef suit = /obj/item/clothing/suit/chef head = /obj/item/clothing/head/chefhat + shoes = /obj/item/clothing/shoes/black + tab_pda = /obj/item/modular_computer/handheld/pda/civilian wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/civilian tablet = /obj/item/modular_computer/handheld/preset/civilian - shoes = /obj/item/clothing/shoes/black + headset = /obj/item/device/radio/headset/headset_service bowman = /obj/item/device/radio/headset/headset_service/alt + double_headset = /obj/item/device/radio/headset/alt/double/service + wrist_radio = /obj/item/device/radio/headset/wrist/service backpack_contents = list( /obj/item/storage/box/produce = 1 @@ -90,13 +98,17 @@ uniform = /obj/item/clothing/under/rank/hydroponics suit = /obj/item/clothing/suit/apron + shoes = /obj/item/clothing/shoes/black + suit_store = /obj/item/device/analyzer/plant_analyzer + tab_pda = /obj/item/modular_computer/handheld/pda/civilian wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/civilian tablet = /obj/item/modular_computer/handheld/preset/civilian - shoes = /obj/item/clothing/shoes/black + headset = /obj/item/device/radio/headset/headset_service bowman = /obj/item/device/radio/headset/headset_service/alt - suit_store = /obj/item/device/analyzer/plant_analyzer + double_headset = /obj/item/device/radio/headset/alt/double/service + wrist_radio = /obj/item/device/radio/headset/wrist/service backpack = /obj/item/storage/backpack/hydroponics satchel = /obj/item/storage/backpack/satchel_hyd @@ -139,14 +151,18 @@ jobtype = /datum/job/qm uniform = /obj/item/clothing/under/rank/quartermaster + shoes = /obj/item/clothing/shoes/brown + l_hand = /obj/item/clipboard + glasses = /obj/item/clothing/glasses/sunglasses + tab_pda = /obj/item/modular_computer/handheld/pda/supply/qm wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/supply/qm tablet = /obj/item/modular_computer/handheld/preset/supply/qm - shoes = /obj/item/clothing/shoes/brown + headset = /obj/item/device/radio/headset/qm bowman = /obj/item/device/radio/headset/qm/alt - l_hand = /obj/item/clipboard - glasses = /obj/item/clothing/glasses/sunglasses + double_headset = /obj/item/device/radio/headset/alt/double/qm + wrist_radio = /obj/item/device/radio/headset/wrist/cargo/qm /datum/job/cargo_tech @@ -171,13 +187,17 @@ jobtype = /datum/job/cargo_tech uniform = /obj/item/clothing/under/rank/cargo + id = /obj/item/card/id/silver + shoes = /obj/item/clothing/shoes/brown + tab_pda = /obj/item/modular_computer/handheld/pda/supply wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/supply tablet = /obj/item/modular_computer/handheld/preset/supply - id = /obj/item/card/id/silver - shoes = /obj/item/clothing/shoes/brown + headset = /obj/item/device/radio/headset/headset_cargo bowman = /obj/item/device/radio/headset/headset_cargo/alt + double_headset = /obj/item/device/radio/headset/alt/double/cargo + wrist_radio = /obj/item/device/radio/headset/wrist/cargo /datum/job/mining @@ -205,15 +225,18 @@ jobtype = /datum/job/mining uniform = /obj/item/clothing/under/rank/miner + id = /obj/item/card/id/silver + shoes = /obj/item/clothing/shoes/black + l_hand = /obj/item/coin/mining + tab_pda = /obj/item/modular_computer/handheld/pda/supply/miner wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/supply/miner tablet = /obj/item/modular_computer/handheld/preset/civilian - id = /obj/item/card/id/silver - shoes = /obj/item/clothing/shoes/black + headset = /obj/item/device/radio/headset/headset_mining bowman = /obj/item/device/radio/headset/headset_mining/alt - - l_hand = /obj/item/coin/mining + double_headset = /obj/item/device/radio/headset/alt/double/mining + wrist_radio = /obj/item/device/radio/headset/wrist/cargo/mining backpack_contents = list( /obj/item/storage/bag/ore = 1 @@ -249,12 +272,16 @@ jobtype = /datum/job/janitor uniform = /obj/item/clothing/under/rank/janitor + shoes = /obj/item/clothing/shoes/black + tab_pda = /obj/item/modular_computer/handheld/pda/civilian/janitor wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/civilian/janitor tablet = /obj/item/modular_computer/handheld/preset/civilian/janitor - shoes = /obj/item/clothing/shoes/black + headset = /obj/item/device/radio/headset/headset_service bowman = /obj/item/device/radio/headset/headset_service/alt + double_headset = /obj/item/device/radio/headset/alt/double/service + wrist_radio = /obj/item/device/radio/headset/wrist/service /datum/job/journalist title = "Corporate Reporter" @@ -281,12 +308,16 @@ jobtype = /datum/job/journalist uniform = /obj/item/clothing/under/suit_jacket/red + shoes = /obj/item/clothing/shoes/black + tab_pda = /obj/item/modular_computer/handheld/pda/civilian/librarian wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/civilian/librarian tablet = /obj/item/modular_computer/handheld/preset/civilian/librarian - shoes = /obj/item/clothing/shoes/black + headset = /obj/item/device/radio/headset/headset_service bowman = /obj/item/device/radio/headset/headset_service/alt + double_headset = /obj/item/device/radio/headset/alt/double/service + wrist_radio = /obj/item/device/radio/headset/wrist/service backpack_contents = list( /obj/item/clothing/accessory/badge/press = 1 @@ -297,10 +328,11 @@ jobtype = /datum/job/journalist uniform = /obj/item/clothing/under/suit_jacket/red + shoes = /obj/item/clothing/shoes/black + tab_pda = /obj/item/modular_computer/handheld/pda/civilian/librarian wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/civilian/librarian tablet = /obj/item/modular_computer/handheld/preset/civilian/librarian - shoes = /obj/item/clothing/shoes/black backpack_contents = list( /obj/item/clothing/accessory/badge/press/independent = 1 @@ -329,14 +361,18 @@ jobtype = /datum/job/librarian uniform = /obj/item/clothing/under/suit_jacket/red + shoes = /obj/item/clothing/shoes/black + r_pocket = /obj/item/barcodescanner + l_hand = /obj/item/storage/bag/books + tab_pda = /obj/item/modular_computer/handheld/pda/civilian/librarian wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/civilian/librarian tablet = /obj/item/modular_computer/handheld/preset/civilian/librarian - shoes = /obj/item/clothing/shoes/black + headset = /obj/item/device/radio/headset/headset_service bowman = /obj/item/device/radio/headset/headset_service/alt - r_pocket = /obj/item/barcodescanner - l_hand = /obj/item/storage/bag/books + double_headset = /obj/item/device/radio/headset/alt/double/service + wrist_radio = /obj/item/device/radio/headset/wrist/service /datum/outfit/job/librarian/curator name = "Curator" diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index c438a19f64f..1e36cc0016e 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -19,8 +19,12 @@ jobtype = /datum/job/chaplain uniform = /obj/item/clothing/under/rank/chaplain shoes = /obj/item/clothing/shoes/black + headset = /obj/item/device/radio/headset/headset_service bowman = /obj/item/device/radio/headset/headset_service/alt + double_headset = /obj/item/device/radio/headset/alt/double/service + wrist_radio = /obj/item/device/radio/headset/wrist/service + tab_pda = /obj/item/modular_computer/handheld/pda/civilian/chaplain wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/civilian/chaplain tablet = /obj/item/modular_computer/handheld/preset/civilian/chaplain diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index ea2259168f4..fbef7b82ec3 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -36,15 +36,19 @@ 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/navy + shoes = /obj/item/clothing/shoes/workboots + r_pocket = /obj/item/device/t_scanner + + headset = /obj/item/device/radio/headset/heads/ce + bowman = /obj/item/device/radio/headset/heads/ce/alt + double_headset = /obj/item/device/radio/headset/alt/double/ce + wrist_radio = /obj/item/device/radio/headset/wrist/ce + tab_pda = /obj/item/modular_computer/handheld/pda/engineering/ce wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/engineering/ce tablet = /obj/item/modular_computer/handheld/preset/engineering/ce - id = /obj/item/card/id/navy - shoes = /obj/item/clothing/shoes/workboots - headset = /obj/item/device/radio/headset/heads/ce - bowman = /obj/item/device/radio/headset/heads/ce/alt - r_pocket = /obj/item/device/t_scanner - + backpack = /obj/item/storage/backpack/industrial satchel = /obj/item/storage/backpack/satchel_eng dufflebag = /obj/item/storage/backpack/duffel/eng @@ -84,15 +88,19 @@ uniform = /obj/item/clothing/under/rank/engineer head = /obj/item/clothing/head/hardhat belt = /obj/item/storage/belt/utility + id = /obj/item/card/id/silver + shoes = /obj/item/clothing/shoes/workboots + r_pocket = /obj/item/device/t_scanner + + headset = /obj/item/device/radio/headset/headset_eng + bowman = /obj/item/device/radio/headset/headset_eng/alt + double_headset = /obj/item/device/radio/headset/alt/double/eng + wrist_radio = /obj/item/device/radio/headset/wrist/eng + tab_pda = /obj/item/modular_computer/handheld/pda/engineering wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/engineering tablet = /obj/item/modular_computer/handheld/preset/engineering - id = /obj/item/card/id/silver - shoes = /obj/item/clothing/shoes/workboots - headset = /obj/item/device/radio/headset/headset_eng - bowman = /obj/item/device/radio/headset/headset_eng/alt - r_pocket = /obj/item/device/t_scanner - + backpack = /obj/item/storage/backpack/industrial satchel = /obj/item/storage/backpack/satchel_eng dufflebag = /obj/item/storage/backpack/duffel/eng @@ -133,8 +141,11 @@ belt = /obj/item/storage/belt/utility id = /obj/item/card/id/silver shoes = /obj/item/clothing/shoes/workboots + headset = /obj/item/device/radio/headset/headset_eng bowman = /obj/item/device/radio/headset/headset_eng/alt + double_headset = /obj/item/device/radio/headset/alt/double/eng + wrist_radio = /obj/item/device/radio/headset/wrist/eng backpack = /obj/item/storage/backpack/industrial satchel = /obj/item/storage/backpack/satchel_eng @@ -180,9 +191,7 @@ shoes = /obj/item/clothing/shoes/orange head = /obj/item/clothing/head/beret/engineering belt = /obj/item/storage/belt/utility - headset = /obj/item/device/radio/headset/headset_eng - bowman = /obj/item/device/radio/headset/headset_eng/alt - + belt_contents = list( /obj/item/weldingtool = 1, /obj/item/crowbar = 1, @@ -191,6 +200,11 @@ /obj/item/powerdrill = 1 ) + headset = /obj/item/device/radio/headset/headset_eng + bowman = /obj/item/device/radio/headset/headset_eng/alt + double_headset = /obj/item/device/radio/headset/alt/double/eng + wrist_radio = /obj/item/device/radio/headset/wrist/eng + backpack = /obj/item/storage/backpack/industrial satchel = /obj/item/storage/backpack/satchel_eng dufflebag = /obj/item/storage/backpack/duffel/eng diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 9ddf14f2b47..089cc2c8bf1 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -210,10 +210,14 @@ uniform = /obj/item/clothing/under/color/grey id = /obj/item/card/id - headset = /obj/item/device/radio/headset - bowman = /obj/item/device/radio/headset/alt back = /obj/item/storage/backpack shoes = /obj/item/clothing/shoes/black + + headset = /obj/item/device/radio/headset + bowman = /obj/item/device/radio/headset/alt + double_headset = /obj/item/device/radio/headset/alt/double + wrist_radio = /obj/item/device/radio/headset/wrist + tab_pda = /obj/item/modular_computer/handheld/pda/civilian wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/civilian tablet = /obj/item/modular_computer/handheld/preset/civilian diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 7daef0261bb..e30e2302f76 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -36,13 +36,17 @@ suit = /obj/item/clothing/suit/storage/toggle/labcoat/cmo suit_store = /obj/item/device/flashlight/pen shoes = /obj/item/clothing/shoes/brown + id = /obj/item/card/id/navy + l_hand = /obj/item/storage/firstaid/adv + headset = /obj/item/device/radio/headset/heads/cmo bowman = /obj/item/device/radio/headset/heads/cmo/alt + double_headset = /obj/item/device/radio/headset/alt/double/cmo + wrist_radio = /obj/item/device/radio/headset/wrist/cmo + tab_pda = /obj/item/modular_computer/handheld/pda/medical/cmo wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/medical/cmo tablet = /obj/item/modular_computer/handheld/preset/medical/cmo - id = /obj/item/card/id/navy - l_hand = /obj/item/storage/firstaid/adv backpack = /obj/item/storage/backpack/medic satchel = /obj/item/storage/backpack/satchel_med @@ -94,13 +98,17 @@ uniform = /obj/item/clothing/under/rank/medical suit = /obj/item/clothing/suit/storage/toggle/labcoat/medical shoes = /obj/item/clothing/shoes/medical + id = /obj/item/card/id/white + suit_store = /obj/item/device/flashlight/pen + headset = /obj/item/device/radio/headset/headset_med bowman = /obj/item/device/radio/headset/headset_med/alt + double_headset = /obj/item/device/radio/headset/alt/double/med + wrist_radio = /obj/item/device/radio/headset/wrist/med + tab_pda = /obj/item/modular_computer/handheld/pda/medical wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/medical tablet = /obj/item/modular_computer/handheld/preset/medical - id = /obj/item/card/id/white - suit_store = /obj/item/device/flashlight/pen backpack = /obj/item/storage/backpack/medic satchel = /obj/item/storage/backpack/satchel_med @@ -154,12 +162,16 @@ uniform = /obj/item/clothing/under/rank/pharmacist suit = /obj/item/clothing/suit/storage/toggle/labcoat/pharmacist shoes = /obj/item/clothing/shoes/chemist + id = /obj/item/card/id/white + headset = /obj/item/device/radio/headset/headset_med bowman = /obj/item/device/radio/headset/headset_med/alt + double_headset = /obj/item/device/radio/headset/alt/double/med + wrist_radio = /obj/item/device/radio/headset/wrist/med + tab_pda = /obj/item/modular_computer/handheld/pda/medical wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/medical tablet = /obj/item/modular_computer/handheld/preset/medical - id = /obj/item/card/id/white backpack = /obj/item/storage/backpack/pharmacy satchel = /obj/item/storage/backpack/satchel_pharm @@ -194,12 +206,16 @@ uniform = /obj/item/clothing/under/rank/psych suit = /obj/item/clothing/suit/storage/toggle/labcoat/psych shoes = /obj/item/clothing/shoes/psych + id = /obj/item/card/id/white + headset = /obj/item/device/radio/headset/headset_med bowman = /obj/item/device/radio/headset/headset_med/alt + double_headset = /obj/item/device/radio/headset/alt/double/med + wrist_radio = /obj/item/device/radio/headset/wrist/med + tab_pda = /obj/item/modular_computer/handheld/pda/medical/psych wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/medical/psych tablet = /obj/item/modular_computer/handheld/preset/medical/psych - id = /obj/item/card/id/white /datum/outfit/job/psychiatrist/psycho name = "Psychologist" @@ -232,16 +248,20 @@ uniform = /obj/item/clothing/under/rank/medical/first_responder suit = /obj/item/clothing/suit/storage/toggle/first_responder_jacket shoes = /obj/item/clothing/shoes/jackboots - headset = /obj/item/device/radio/headset/headset_med - bowman = /obj/item/device/radio/headset/headset_med/alt + id = /obj/item/card/id/white + head = /obj/item/clothing/head/hardhat/first_responder l_hand = /obj/item/storage/firstaid/adv r_hand = /obj/item/reagent_containers/hypospray belt = /obj/item/storage/belt/medical/first_responder + + headset = /obj/item/device/radio/headset/headset_med + bowman = /obj/item/device/radio/headset/headset_med/alt + double_headset = /obj/item/device/radio/headset/alt/double/med + wrist_radio = /obj/item/device/radio/headset/wrist/med + tab_pda = /obj/item/modular_computer/handheld/pda/medical wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/medical tablet = /obj/item/modular_computer/handheld/preset/medical - id = /obj/item/card/id/white - head = /obj/item/clothing/head/hardhat/first_responder backpack = /obj/item/storage/backpack/medic satchel = /obj/item/storage/backpack/satchel_med @@ -271,6 +291,8 @@ shoes = /obj/item/clothing/shoes/medical headset = /obj/item/device/radio/headset/headset_med bowman = /obj/item/device/radio/headset/headset_med/alt + double_headset = /obj/item/device/radio/headset/alt/double/med + wrist_radio = /obj/item/device/radio/headset/wrist/med backpack = /obj/item/storage/backpack/medic satchel = /obj/item/storage/backpack/satchel_med diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index d029ccecce3..5bc6cd8401b 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -36,13 +36,17 @@ uniform = /obj/item/clothing/under/rank/research_director suit = /obj/item/clothing/suit/storage/toggle/labcoat/science shoes = /obj/item/clothing/shoes/brown + id = /obj/item/card/id/navy + l_hand = /obj/item/clipboard + headset = /obj/item/device/radio/headset/heads/rd bowman = /obj/item/device/radio/headset/heads/rd/alt + double_headset = /obj/item/device/radio/headset/alt/double/rd + wrist_radio = /obj/item/device/radio/headset/wrist/rd + tab_pda = /obj/item/modular_computer/handheld/pda/research/rd wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/research/rd tablet = /obj/item/modular_computer/handheld/preset/research/rd - id = /obj/item/card/id/navy - l_hand = /obj/item/clipboard backpack = /obj/item/storage/backpack/toxins satchel = /obj/item/storage/backpack/satchel_tox @@ -79,12 +83,16 @@ uniform = /obj/item/clothing/under/rank/scientist suit = /obj/item/clothing/suit/storage/toggle/labcoat/science shoes = /obj/item/clothing/shoes/science + id = /obj/item/card/id/white + headset = /obj/item/device/radio/headset/headset_sci bowman = /obj/item/device/radio/headset/headset_sci/alt + double_headset = /obj/item/device/radio/headset/alt/double/sci + wrist_radio = /obj/item/device/radio/headset/wrist/sci + tab_pda = /obj/item/modular_computer/handheld/pda/research wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/research tablet = /obj/item/modular_computer/handheld/preset/research - id = /obj/item/card/id/white backpack = /obj/item/storage/backpack/toxins satchel = /obj/item/storage/backpack/satchel_tox @@ -155,13 +163,17 @@ uniform = /obj/item/clothing/under/rank/roboticist suit = /obj/item/clothing/suit/storage/toggle/labcoat shoes = /obj/item/clothing/shoes/black + id = /obj/item/card/id/white + belt = /obj/item/storage/belt/utility + headset = /obj/item/device/radio/headset/headset_sci bowman = /obj/item/device/radio/headset/headset_sci/alt + double_headset = /obj/item/device/radio/headset/alt/double/sci + wrist_radio = /obj/item/device/radio/headset/wrist/sci + tab_pda = /obj/item/modular_computer/handheld/pda/research/robotics wristbound = /obj/item/modular_computer/handheld/wristbound/preset/advanced/research/robotics tablet = /obj/item/modular_computer/handheld/preset/research/robotics - id = /obj/item/card/id/white - belt = /obj/item/storage/belt/utility backpack = /obj/item/storage/backpack/toxins satchel = /obj/item/storage/backpack/satchel_tox @@ -200,6 +212,8 @@ shoes = /obj/item/clothing/shoes/science headset = /obj/item/device/radio/headset/headset_sci bowman = /obj/item/device/radio/headset/headset_sci/alt + double_headset = /obj/item/device/radio/headset/alt/double/sci + wrist_radio = /obj/item/device/radio/headset/wrist/sci backpack = /obj/item/storage/backpack/toxins satchel = /obj/item/storage/backpack/satchel_tox diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 6142268d979..fa272b824bc 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -34,13 +34,17 @@ uniform = /obj/item/clothing/under/rank/head_of_security shoes = /obj/item/clothing/shoes/jackboots + id = /obj/item/card/id/navy + glasses = /obj/item/clothing/glasses/sunglasses/sechud/head + headset = /obj/item/device/radio/headset/heads/hos bowman = /obj/item/device/radio/headset/heads/hos/alt + double_headset = /obj/item/device/radio/headset/alt/double/hos + wrist_radio = /obj/item/device/radio/headset/wrist/hos + tab_pda = /obj/item/modular_computer/handheld/pda/security/hos wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/security/hos tablet = /obj/item/modular_computer/handheld/preset/security/hos - id = /obj/item/card/id/navy - glasses = /obj/item/clothing/glasses/sunglasses/sechud/head backpack_contents = list( /obj/item/storage/box/ids = 1 @@ -90,13 +94,17 @@ uniform = /obj/item/clothing/under/rank/warden shoes = /obj/item/clothing/shoes/jackboots + glasses = /obj/item/clothing/glasses/sunglasses/sechud/head + l_pocket = /obj/item/device/flash + headset = /obj/item/device/radio/headset/headset_warden bowman = /obj/item/device/radio/headset/headset_warden/alt + double_headset = /obj/item/device/radio/headset/alt/double/sec/warden + wrist_radio = /obj/item/device/radio/headset/wrist/sec/warden + tab_pda = /obj/item/modular_computer/handheld/pda/security wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/security tablet = /obj/item/modular_computer/handheld/preset/security - glasses = /obj/item/clothing/glasses/sunglasses/sechud/head - l_pocket = /obj/item/device/flash backpack = /obj/item/storage/backpack/security satchel = /obj/item/storage/backpack/satchel_sec @@ -141,8 +149,12 @@ uniform = /obj/item/clothing/under/det/forensics shoes = /obj/item/clothing/shoes/laceup + headset = /obj/item/device/radio/headset/headset_sec bowman = /obj/item/device/radio/headset/headset_sec/alt + double_headset = /obj/item/device/radio/headset/alt/double/sec + wrist_radio = /obj/item/device/radio/headset/wrist/sec + tab_pda = /obj/item/modular_computer/handheld/pda/security/detective wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/security/detective tablet = /obj/item/modular_computer/handheld/preset/security/detective @@ -190,12 +202,16 @@ uniform = /obj/item/clothing/under/rank/security shoes = /obj/item/clothing/shoes/jackboots + l_pocket = /obj/item/device/flash + headset = /obj/item/device/radio/headset/headset_sec bowman = /obj/item/device/radio/headset/headset_sec/alt + double_headset = /obj/item/device/radio/headset/alt/double/sec + wrist_radio = /obj/item/device/radio/headset/wrist/sec + tab_pda = /obj/item/modular_computer/handheld/pda/security wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/security tablet = /obj/item/modular_computer/handheld/preset/security - l_pocket = /obj/item/device/flash backpack = /obj/item/storage/backpack/security satchel = /obj/item/storage/backpack/satchel_sec @@ -238,8 +254,11 @@ suit = /obj/item/clothing/suit/storage/hazardvest/cadet head = /obj/item/clothing/head/beret/security shoes = /obj/item/clothing/shoes/jackboots + headset = /obj/item/device/radio/headset/headset_sec bowman = /obj/item/device/radio/headset/headset_sec/alt + double_headset = /obj/item/device/radio/headset/alt/double/sec + wrist_radio = /obj/item/device/radio/headset/wrist/sec backpack = /obj/item/storage/backpack/security satchel = /obj/item/storage/backpack/satchel_sec diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index a7e683c33b2..cdd474f7b33 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -171,6 +171,20 @@ icon_state = "headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double + name = "soundproof headset" + icon_state = "earset" + item_state = "earset" + item_flags = SOUNDPROTECTION + slot_flags = SLOT_EARS | SLOT_TWOEARS + +/obj/item/device/radio/headset/wrist + name = "wristbound radio" + icon_state = "wristset" + item_state = "wristset" + slot_flags = SLOT_WRISTS + canhear_range = 1 + /* * Civillian */ @@ -186,6 +200,18 @@ icon_state = "srv_headset_alt" icon_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/service + name = "soundproof service headset" + icon_state = "earset_srv" + item_state = "earset_srv" + ks2type = /obj/item/device/encryptionkey/headset_service + +/obj/item/device/radio/headset/wrist/service + name = "wristbound service radio" + icon_state = "wristset_srv" + item_state = "wristset_srv" + ks2type = /obj/item/device/encryptionkey/headset_service + /obj/item/device/radio/headset/heads/hop name = "head of personnel's headset" desc = "The headset of the guy who will one day be captain." @@ -197,6 +223,18 @@ icon_state = "hop_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/hop + name = "head of personnel's soundproof headset" + icon_state = "earset_HoP" + item_state = "earset_HoP" + ks2type = /obj/item/device/encryptionkey/heads/hop + +/obj/item/device/radio/headset/wrist/hop + name = "head of personnel's wristbound radio" + icon_state = "wristset_HoP" + item_state = "wristset_HoP" + ks2type = /obj/item/device/encryptionkey/heads/hop + /* * Engineering */ @@ -212,6 +250,18 @@ icon_state = "eng_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/eng + name = "soundproof engineering headset" + icon_state = "earset_eng" + item_state = "earset_eng" + ks2type = /obj/item/device/encryptionkey/headset_eng + +/obj/item/device/radio/headset/wrist/eng + name = "wristbound engineering radio" + icon_state = "wristset_eng" + item_state = "wristset_eng" + ks2type = /obj/item/device/encryptionkey/headset_eng + /obj/item/device/radio/headset/heads/ce name = "chief engineer's headset" desc = "The headset of the guy who is in charge of morons." @@ -223,6 +273,19 @@ icon_state = "ce_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/ce + name = "chief engineer's soundproof headset" + icon_state = "earset_CE" + item_state = "earset_CE" + ks2type = /obj/item/device/encryptionkey/heads/ce + +/obj/item/device/radio/headset/wrist/ce + name = "chief engineer's wristbound radio" + icon_state = "wristset_CE" + item_state = "wristset_CE" + ks2type = /obj/item/device/encryptionkey/heads/ce + + /* * Cargo */ @@ -238,6 +301,19 @@ icon_state = "cargo_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/cargo + name = "soundproof cargo headset" + icon_state = "earset_cargo" + item_state = "earset_cargo" + ks2type = /obj/item/device/encryptionkey/headset_cargo + +/obj/item/device/radio/headset/wrist/cargo + name = "wristbound cargo radio" + icon_state = "wristset_cargo" + item_state = "wristset_cargo" + ks2type = /obj/item/device/encryptionkey/headset_cargo + + /obj/item/device/radio/headset/headset_mining name = "mining radio headset" desc = "Headset used by dwarves. It has an inbuilt subspace antenna for better reception." @@ -249,6 +325,17 @@ icon_state = "mine_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/mining + name = "soundproof mining headset" + icon_state = "earset_Mine" + item_state = "earset_Mine" + ks2type = /obj/item/device/encryptionkey/headset_cargo + +/obj/item/device/radio/headset/wrist/cargo/mining + name = "wristbound mining radio" + icon_state = "wristset_mine" + item_state = "wristset_mine" + /obj/item/device/radio/headset/qm name = "quartermaster's headset" desc = "A headset used by the head honcho of paper pushing." @@ -260,6 +347,17 @@ icon_state = "qm_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/qm + name = "soundproof quartermaster headset" + icon_state = "earset_QM" + item_state = "earset_QM" + ks2type = /obj/item/device/encryptionkey/headset_cargo + +/obj/item/device/radio/headset/wrist/cargo/qm + name = "wristbound quartermaster radio" + icon_state = "wristset_QM" + item_state = "wristset_QM" + /* * Medical */ @@ -275,6 +373,18 @@ icon_state = "med_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/med + name = "soundproof medical headset" + icon_state = "earset_med" + item_state = "earset_med" + ks2type = /obj/item/device/encryptionkey/headset_med + +/obj/item/device/radio/headset/wrist/med + name = "wristbound medical radio" + icon_state = "wristset_med" + item_state = "wristset_med" + ks2type = /obj/item/device/encryptionkey/headset_med + /obj/item/device/radio/headset/heads/cmo name = "chief medical officer's headset" desc = "The headset of the highly trained medical chief." @@ -286,6 +396,18 @@ icon_state = "cmo_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/cmo + name = "chief medical officer's soundproof headset" + icon_state = "earset_CMO" + item_state = "earset_CMO" + ks2type = /obj/item/device/encryptionkey/heads/cmo + +/obj/item/device/radio/headset/wrist/cmo + name = "chief medical officer's wristbound radio" + icon_state = "wristset_CMO" + item_state = "wristset_CMO" + ks2type = /obj/item/device/encryptionkey/heads/cmo + /* * Science */ @@ -300,6 +422,18 @@ name = "science bowman headset" icon_state = "sci_headset_alt" +/obj/item/device/radio/headset/alt/double/sci + name = "soundproof science headset" + icon_state = "earset_sci" + item_state = "earset_sci" + ks2type = /obj/item/device/encryptionkey/headset_sci + +/obj/item/device/radio/headset/wrist/sci + name = "wristbound science radio" + icon_state = "wristset_sci" + item_state = "wristset_sci" + ks2type = /obj/item/device/encryptionkey/headset_sci + /obj/item/device/radio/headset/headset_rob name = "robotics radio headset" desc = "Made specifically for the roboticists who cannot decide between departments." @@ -317,6 +451,18 @@ icon_state = "rd_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/rd + name = "soundproof research director's headset" + icon_state = "earset_RD" + item_state = "earset_RD" + ks2type = /obj/item/device/encryptionkey/heads/rd + +/obj/item/device/radio/headset/wrist/rd + name = "research director's wristbound radio" + icon_state = "wristset_RD" + item_state = "wristset_RD" + ks2type = /obj/item/device/encryptionkey/heads/rd + /* * Security */ @@ -332,6 +478,18 @@ icon_state = "sec_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/sec + name = "soundproof security headset" + icon_state = "earset_Sec" + item_state = "earset_Sec" + ks2type = /obj/item/device/encryptionkey/headset_sec + +/obj/item/device/radio/headset/wrist/sec + name = "wristbound security radio" + icon_state = "wristset_sec" + item_state = "wristset_sec" + ks2type = /obj/item/device/encryptionkey/headset_sec + /obj/item/device/radio/headset/headset_warden name = "warden radio headset" desc = "This is used by your all-powerful overseer." @@ -343,6 +501,14 @@ icon_state = "sec_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/sec/warden + name = "soundproof warden headset" + ks2type = /obj/item/device/encryptionkey/headset_warden + +/obj/item/device/radio/headset/wrist/sec/warden + name = "wristbound warden radio" + ks2type = /obj/item/device/encryptionkey/headset_warden + /obj/item/device/radio/headset/headset_penal name = "penal radio headset" desc = "A headset used by people who have chosen or been chosen to work the fields." @@ -360,6 +526,18 @@ icon_state = "hos_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/hos + name = "head of security's soundproof headset" + icon_state = "earset_HoS" + item_state = "earset_HoS" + ks2type = /obj/item/device/encryptionkey/heads/hos + +/obj/item/device/radio/headset/wrist/hos + name = "head of security's wristbound radio" + icon_state = "wristset_HoS" + item_state = "wristset_HoS" + ks2type = /obj/item/device/encryptionkey/heads/hos + /* * Captain */ @@ -375,6 +553,18 @@ icon_state = "com_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/command + name = "soundproof command headset" + icon_state = "earset_com" + item_state = "earset_com" + ks2type = /obj/item/device/encryptionkey/headset_com + +/obj/item/device/radio/headset/wrist/command + name = "wristbound command radio" + icon_state = "wristset_com" + item_state = "wristset_com" + ks2type = /obj/item/device/encryptionkey/headset_com + /obj/item/device/radio/headset/heads/captain name = "captain's headset" desc = "The headset of the boss." @@ -386,6 +576,18 @@ icon_state = "cap_headset_alt" item_state = "headset_alt" +/obj/item/device/radio/headset/alt/double/captain + name = "captain's soundproof headset" + icon_state = "earset_cap" + item_state = "earset_cap" + ks2type = /obj/item/device/encryptionkey/heads/captain + +/obj/item/device/radio/headset/wrist/captain + name = "captain's wristbound radio" + icon_state = "wristset_cap" + item_state = "wristset_cap" + ks2type = /obj/item/device/encryptionkey/heads/captain + /* * Misc */ diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 0ea8c755f9b..e785fa49710 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -492,7 +492,7 @@ datum/preferences character.pda_choice = pda_choice - if(headset_choice > OUTFIT_BOWMAN || headset_choice < OUTFIT_NOTHING) + if(headset_choice > OUTFIT_WRISTRAD || headset_choice < OUTFIT_NOTHING) headset_choice = OUTFIT_HEADSET character.headset_choice = headset_choice diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 5bddb2d3c9b..947b58e18bc 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -152,6 +152,8 @@ headsets["Left Ear"] = l_ear if(istype(r_ear, /obj/item/device/radio)) headsets["Right Ear"] = r_ear + if(istype(wrists, /obj/item/device/radio)) + headsets["Wrist"] = wrists if(length(headsets)) if(client && (client.prefs.primary_radio_slot in headsets)) @@ -202,6 +204,19 @@ used_radios += R if(R.talk_into(src,message,null,verb,speaking)) successful_radio += R + if("wrist") + var/obj/item/device/radio/R + var/has_radio = 0 + if(istype(wrists,/obj/item/device/radio)) + R = wrists + has_radio = 1 + if(istype(r_hand, /obj/item/device/radio)) + R = wrists + has_radio = 1 + if(has_radio) + used_radios += R + if(R.talk_into(src,message,null,verb,speaking)) + successful_radio += R if("whisper") whisper_say(message, speaking, alt_name) return 1 diff --git a/html/changelogs/WristComms.yml b/html/changelogs/WristComms.yml new file mode 100644 index 00000000000..dbc30cb0ba6 --- /dev/null +++ b/html/changelogs/WristComms.yml @@ -0,0 +1,6 @@ +author: TheGreyWolf & Dronz + +delete-after: True + +changes: + - rscadd: "Added wrist radios and headphone radios. The headphone radios gives the same muffled effect as earmuffs and wrist radios broadcasts everything heard to those next to the one carrying it as well." diff --git a/icons/mob/l_ear.dmi b/icons/mob/l_ear.dmi index 627b93312ec..6beb206d86a 100644 Binary files a/icons/mob/l_ear.dmi and b/icons/mob/l_ear.dmi differ diff --git a/icons/mob/r_ear.dmi b/icons/mob/r_ear.dmi index 6a9f24db59b..86bf4927a4e 100644 Binary files a/icons/mob/r_ear.dmi and b/icons/mob/r_ear.dmi differ diff --git a/icons/mob/wrist.dmi b/icons/mob/wrist.dmi index 35c2fece6ac..437f5d80287 100644 Binary files a/icons/mob/wrist.dmi and b/icons/mob/wrist.dmi differ diff --git a/icons/obj/radio.dmi b/icons/obj/radio.dmi index 73e2583bb7b..1a052548a34 100644 Binary files a/icons/obj/radio.dmi and b/icons/obj/radio.dmi differ