From 4ecc058150d9a2eb83000b55052fa760f69e7006 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 7 Nov 2014 20:48:08 +0100 Subject: [PATCH] Service personnel get their own radio frequency Bartenders, chefs, and janitors now have their own service frequency and corresponding headset. The HoP is listening to this channel by default. Creates a proper locker for the chef's extra gear. --- code/controllers/communications.dm | 37 ++++++++++++++- code/game/atoms.dm | 13 +++--- code/game/jobs/job/civilian.dm | 4 ++ code/game/jobs/job/job.dm | 41 ++++++++++++++++- code/game/jobs/job_controller.dm | 1 + code/game/machinery/telecomms/broadcaster.dm | 43 +++--------------- code/game/machinery/telecomms/presets.dm | 6 +-- .../items/devices/radio/encryptionkey.dm | 32 ++++--------- .../objects/items/devices/radio/headset.dm | 15 ++++-- .../crates_lockers/closets/job_closets.dm | 25 ++++++++++ .../closets/secure/hydroponics.dm | 1 + code/modules/mob/living/say.dm | 2 + .../modules/mob/living/silicon/robot/robot.dm | 3 ++ code/modules/research/message_server.dm | 3 ++ code/stylesheet.dm | 1 + icons/obj/radio.dmi | Bin 6121 -> 6160 bytes maps/tgstation2.dmm | 4 +- 17 files changed, 155 insertions(+), 76 deletions(-) diff --git a/code/controllers/communications.dm b/code/controllers/communications.dm index 0267aed853..a0d9067038 100644 --- a/code/controllers/communications.dm +++ b/code/controllers/communications.dm @@ -75,6 +75,7 @@ Radio: 1341 - death squad 1443 - Confession Intercom 1347 - Cargo techs +1349 - Service people Devices: 1451 - tracking implant @@ -109,6 +110,7 @@ var/const/ENG_FREQ = 1357 var/const/SCI_FREQ = 1351 var/const/MED_FREQ = 1355 var/const/SUP_FREQ = 1347 +var/const/SRV_FREQ = 1349 var/list/radiochannels = list( "Common" = PUB_FREQ, @@ -121,6 +123,7 @@ var/list/radiochannels = list( "Special Ops" = DTH_FREQ, "Mercenary" = SYND_FREQ, "Supply" = SUP_FREQ, + "Service" = SRV_FREQ, "AI Private" = AI_FREQ ) @@ -131,11 +134,43 @@ var/list/CENT_FREQS = list(ERT_FREQ, DTH_FREQ) var/list/ANTAG_FREQS = list(SYND_FREQ) //depenging helpers -var/list/DEPT_FREQS = list(SCI_FREQ, MED_FREQ, ENG_FREQ, SEC_FREQ, SUP_FREQ, ERT_FREQ, SYND_FREQ, DTH_FREQ) +var/list/DEPT_FREQS = list(SCI_FREQ, MED_FREQ, ENG_FREQ, SEC_FREQ, SUP_FREQ, SRV_FREQ, ERT_FREQ, SYND_FREQ, DTH_FREQ) #define TRANSMISSION_WIRE 0 #define TRANSMISSION_RADIO 1 +/proc/frequency_span_class(var/frequency) + // Antags! + if (frequency in ANTAG_FREQS) + return "syndradio" + // centcomm channels (deathsquid and ert) + else if(frequency in CENT_FREQS) + return "centradio" + // command channel + else if(frequency == COMM_FREQ) + return "comradio" + // AI private channel + else if(frequency == AI_FREQ) + return "airadio" + // department radio formatting (poorly optimized, ugh) + else if(frequency == SEC_FREQ) + return "secradio" + else if (frequency == ENG_FREQ) + return "engradio" + else if(frequency == SCI_FREQ) + return "sciradio" + else if(frequency == MED_FREQ) + return "medradio" + else if(frequency == SUP_FREQ) // cargo + return "supradio" + else if(frequency == SRV_FREQ) // service + return "srvradio" + // If all else fails and it's a dept_freq, color me purple! + else if(frequency in DEPT_FREQS) + return "deptradio" + + return "radio" + /* filters */ //When devices register with the radio controller, they might register under a certain filter. //Other devices can then choose to send signals to only those devices that belong to a particular filter. diff --git a/code/game/atoms.dm b/code/game/atoms.dm index bf86972fdc..2ccfb5b249 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -248,7 +248,7 @@ its easier to just keep the beam vertical. src.fingerprintslast = M.key return -/atom/proc/add_fingerprint(mob/living/M as mob) +/atom/proc/add_fingerprint(mob/living/M as mob, ignoregloves = 0) if(isnull(M)) return if(isAI(M)) return if(isnull(M.key)) return @@ -284,11 +284,12 @@ its easier to just keep the beam vertical. H.gloves.add_fingerprint(M) //Deal with gloves the pass finger/palm prints. - if(H.gloves != src) - if(prob(75) && istype(H.gloves, /obj/item/clothing/gloves/latex)) - return 0 - else if(H.gloves && !istype(H.gloves, /obj/item/clothing/gloves/latex)) - return 0 + if(!ignoregloves) + if(H.gloves != src) + if(prob(75) && istype(H.gloves, /obj/item/clothing/gloves/latex)) + return 0 + else if(H.gloves && !istype(H.gloves, /obj/item/clothing/gloves/latex)) + return 0 //More adminstuffz if(fingerprintslast != H.key) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 3d83666a46..c38ed72ab1 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -18,6 +18,7 @@ if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt) @@ -56,6 +57,7 @@ equip(var/mob/living/carbon/human/H) if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) @@ -85,6 +87,7 @@ equip(var/mob/living/carbon/human/H) if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/hydroponics(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves) @@ -286,6 +289,7 @@ equip(var/mob/living/carbon/human/H) if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/janitor(H), slot_belt) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 682c80f174..0c44f6f260 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -70,4 +70,43 @@ if(!isnum(minimal_player_age)) return 0 - return max(0, minimal_player_age - C.player_age) \ No newline at end of file + return max(0, minimal_player_age - C.player_age) + +/datum/job/proc/apply_fingerprints(var/mob/living/carbon/human/H) + if(!istype(H)) + return + if(H.back) + H.back.add_fingerprint(H,1) //The 1 sets a flag to ignore gloves + for(var/obj/item/I in H.back.contents) + I.add_fingerprint(H,1) + if(H.wear_id) + H.wear_id.add_fingerprint(H,1) + if(H.w_uniform) + H.w_uniform.add_fingerprint(H,1) + if(H.wear_suit) + H.wear_suit.add_fingerprint(H,1) + if(H.wear_mask) + H.wear_mask.add_fingerprint(H,1) + if(H.head) + H.head.add_fingerprint(H,1) + if(H.shoes) + H.shoes.add_fingerprint(H,1) + if(H.gloves) + H.gloves.add_fingerprint(H,1) + if(H.l_ear) + H.l_ear.add_fingerprint(H,1) + if(H.r_ear) + H.r_ear.add_fingerprint(H,1) + if(H.glasses) + H.glasses.add_fingerprint(H,1) + if(H.belt) + H.belt.add_fingerprint(H,1) + for(var/obj/item/I in H.belt.contents) + I.add_fingerprint(H,1) + if(H.s_store) + H.s_store.add_fingerprint(H,1) + if(H.l_store) + H.l_store.add_fingerprint(H,1) + if(H.r_store) + H.r_store.add_fingerprint(H,1) + return 1 diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index a564f68692..15a8016b34 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -386,6 +386,7 @@ var/global/datum/controller/occupations/job_master //Equip job items. job.equip(H) + job.apply_fingerprints(H) else H << "Your job is [rank] and the game just can't handle it! Please report this bug to an administrator." diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index 9994e71340..06a308a33d 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -330,7 +330,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept if (length(heard_masked) || length(heard_normal) || length(heard_voice) || length(heard_garbled) || length(heard_gibberish)) /* --- Some miscellaneous variables to format the string output --- */ - var/part_a = "" // goes in the actual output + var/part_a = "" // goes in the actual output var/freq_text = get_frequency_name(display_freq) // --- Some more pre-message formatting --- @@ -341,41 +341,6 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/part_b = " \icon[radio]\[[freq_text]\][part_b_extra] " // Tweaked for security headsets -- TLE var/part_c = "" - // Antags! - if (display_freq in ANTAG_FREQS) - part_a = "" - // centcomm channels (deathsquid and ert) - else if (display_freq in CENT_FREQS) - part_a = "" - - // command channel - else if (display_freq == COMM_FREQ) - part_a = "" - - // AI private channel - else if (display_freq == AI_FREQ) - part_a = "" - - // department radio formatting (poorly optimized, ugh) - else if (display_freq == SEC_FREQ) - part_a = "" - - else if (display_freq == ENG_FREQ) - part_a = "" - - else if (display_freq == SCI_FREQ) - part_a = "" - - else if (display_freq == MED_FREQ) - part_a = "" - - else if (display_freq == SUP_FREQ) // cargo - part_a = "" - - // If all else fails and it's a dept_freq, color me purple! - else if (display_freq in DEPT_FREQS) - part_a = "" - // --- Filter the message; place it in quotes apply a verb --- @@ -412,6 +377,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept blackbox.msg_syndicate += blackbox_msg if(SUP_FREQ) blackbox.msg_cargo += blackbox_msg + if(SRV_FREQ) + blackbox.msg_service += blackbox_msg else blackbox.messages += blackbox_msg @@ -599,6 +566,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept blackbox.msg_syndicate += blackbox_msg if(SUP_FREQ) blackbox.msg_cargo += blackbox_msg + if(SRV_FREQ) + blackbox.msg_service += blackbox_msg else blackbox.messages += blackbox_msg @@ -664,7 +633,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept //#### Sending the signal to all subspace receivers ####// for(var/obj/machinery/telecomms/receiver/R in telecomms_list) R.receive_signal(signal) - + if(do_sleep) sleep(rand(10,25)) diff --git a/code/game/machinery/telecomms/presets.dm b/code/game/machinery/telecomms/presets.dm index 8b4977f106..b4b9b07791 100644 --- a/code/game/machinery/telecomms/presets.dm +++ b/code/game/machinery/telecomms/presets.dm @@ -58,7 +58,7 @@ id = "Receiver A" network = "tcommsat" autolinkers = list("receiverA") // link to relay - freq_listening = list(SCI_FREQ, MED_FREQ, SUP_FREQ) // science, medical, supply + freq_listening = list(SCI_FREQ, MED_FREQ, SUP_FREQ, SRV_FREQ) // science, medical, supply, service //--PRESET RIGHT--// @@ -94,7 +94,7 @@ /obj/machinery/telecomms/bus/preset_two id = "Bus 2" network = "tcommsat" - freq_listening = list(SUP_FREQ) + freq_listening = list(SUP_FREQ, SRV_FREQ) autolinkers = list("processor2", "supply") /obj/machinery/telecomms/bus/preset_three @@ -167,7 +167,7 @@ /obj/machinery/telecomms/server/presets/supply id = "Supply Server" - freq_listening = list(SUP_FREQ) + freq_listening = list(SUP_FREQ, SRV_FREQ) autolinkers = list("supply") /obj/machinery/telecomms/server/presets/common diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index e10e963b5f..e3e4408a47 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -1,7 +1,7 @@ /obj/item/device/encryptionkey/ name = "Standard Encrpytion Key" - desc = "An encyption key for a radio headset. Has no special codes in it. WHY DOES IT EXIST? ASK NANOTRASEN." + desc = "An encyption key for a radio headset. Contains cypherkeys." icon = 'icons/obj/radio.dmi' icon_state = "cypherkey" item_state = "" @@ -29,107 +29,95 @@ /obj/item/device/encryptionkey/headset_sec name = "Security Radio Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "sec_cypherkey" channels = list("Security" = 1) /obj/item/device/encryptionkey/headset_eng name = "Engineering Radio Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "eng_cypherkey" channels = list("Engineering" = 1) /obj/item/device/encryptionkey/headset_rob name = "Robotics Radio Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "rob_cypherkey" channels = list("Engineering" = 1, "Science" = 1) /obj/item/device/encryptionkey/headset_med name = "Medical Radio Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "med_cypherkey" channels = list("Medical" = 1) /obj/item/device/encryptionkey/headset_sci name = "Science Radio Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "sci_cypherkey" channels = list("Science" = 1) /obj/item/device/encryptionkey/headset_medsci name = "Medical Research Radio Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "medsci_cypherkey" channels = list("Medical" = 1, "Science" = 1) /obj/item/device/encryptionkey/headset_com name = "Command Radio Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "com_cypherkey" channels = list("Command" = 1) /obj/item/device/encryptionkey/heads/captain name = "Captain's Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "cap_cypherkey" - channels = list("Command" = 1, "Security" = 1, "Engineering" = 0, "Science" = 0, "Medical" = 0, "Supply" = 0) + channels = list("Command" = 1, "Security" = 1, "Engineering" = 0, "Science" = 0, "Medical" = 0, "Supply" = 0, "Service" = 0) /obj/item/device/encryptionkey/heads/ai_integrated name = "AI Integrated Encryption Key" desc = "Integrated encryption key" icon_state = "cap_cypherkey" - channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "AI Private" = 1) + channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1) /obj/item/device/encryptionkey/heads/rd name = "Research Director's Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "rd_cypherkey" channels = list("Science" = 1, "Command" = 1) /obj/item/device/encryptionkey/heads/hos name = "Head of Security's Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "hos_cypherkey" channels = list("Security" = 1, "Command" = 1) /obj/item/device/encryptionkey/heads/ce name = "Chief Engineer's Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "ce_cypherkey" channels = list("Engineering" = 1, "Command" = 1) /obj/item/device/encryptionkey/heads/cmo name = "Chief Medical Officer's Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "cmo_cypherkey" channels = list("Medical" = 1, "Command" = 1) /obj/item/device/encryptionkey/heads/hop name = "Head of Personnel's Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "hop_cypherkey" - channels = list("Supply" = 1, "Command" = 1, "Security" = 0) + channels = list("Supply" = 1, "Service" = 1, "Command" = 1, "Security" = 0) /* /obj/item/device/encryptionkey/headset_mine name = "Mining Radio Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "mine_cypherkey" channels = list("Mining" = 1) /obj/item/device/encryptionkey/heads/qm name = "Quartermaster's Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "qm_cypherkey" channels = list("Cargo" = 1, "Mining" = 1) */ /obj/item/device/encryptionkey/headset_cargo name = "Supply Radio Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." icon_state = "cargo_cypherkey" channels = list("Supply" = 1) +/obj/item/device/encryptionkey/headset_service + name = "Service Radio Encryption Key" + icon_state = "srv_cypherkey" + channels = list("Service" = 1) + /obj/item/device/encryptionkey/ert name = "NanoTrasen ERT Radio Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." - channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1) + channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 1e7eecb9a7..f697520b23 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -28,7 +28,7 @@ var/datum/language/hivemind = all_languages["Hivemind"] hivemind.broadcast(M, message) return null - + return ..() /obj/item/device/radio/headset/receive_range(freq, level, aiOverride = 0) @@ -108,7 +108,7 @@ /obj/item/device/radio/headset/heads/captain name = "captain's headset" - desc = "The headset of the boss. Channels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :m - medical, :n - science." + desc = "The headset of the boss. Channels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :v - service, :m - medical, :n - science." icon_state = "com_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/heads/captain @@ -158,7 +158,7 @@ /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. Channels are as follows: :u - supply, :c - command, :s - security" + desc = "The headset of the guy who will one day be captain. Channels are as follows: :u - supply, :v - service, :c - command, :s - security" icon_state = "com_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/heads/hop @@ -184,9 +184,16 @@ item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/headset_cargo +/obj/item/device/radio/headset/headset_service + name = "service radio headset" + desc = "Headset used by the service staff, tasked with keeping the station full, happy and clean. To access the service channel, use :v." + icon_state = "srv_headset" + item_state = "headset" + keyslot2 = new /obj/item/device/encryptionkey/headset_service + /obj/item/device/radio/headset/ert name = "CentCom Response Team headset" - desc = "The headset of the boss's boss. Channels are as follows: :h - Response Team :c - command, :s - security, :e - engineering, :d - mining, :q - cargo, :m - medical, :n - science." + desc = "The headset of the boss's boss. Channels are as follows: :h - Response Team :c - command, :s - security, :e - engineering, :d - mining, :u - cargo, :v - service, :m - medical, :n - science." icon_state = "com_headset" item_state = "headset" freerange = 1 diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index 0846070a71..49e032ff59 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -19,6 +19,8 @@ sleep(2) new /obj/item/clothing/head/that(src) new /obj/item/clothing/head/that(src) + new /obj/item/device/radio/headset/headset_service(src) + new /obj/item/device/radio/headset/headset_service(src) new /obj/item/clothing/head/hairflower new /obj/item/clothing/under/sl_suit(src) new /obj/item/clothing/under/sl_suit(src) @@ -30,6 +32,28 @@ new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/shoes/black(src) +/* + * Chef + */ +/obj/structure/closet/chefcloset + name = "\proper chef's closet" + desc = "It's a storage unit for foodservice garments." + icon_state = "black" + icon_closed = "black" + +/obj/structure/closet/chefcloset/New() + ..() + sleep(2) + new /obj/item/clothing/under/sundress(src) + new /obj/item/clothing/under/waiter(src) + new /obj/item/clothing/under/waiter(src) + new /obj/item/device/radio/headset/headset_service(src) + new /obj/item/device/radio/headset/headset_service(src) + new /obj/item/weapon/storage/box/mousetraps(src) + new /obj/item/weapon/storage/box/mousetraps(src) + new /obj/item/clothing/under/rank/chef(src) + new /obj/item/clothing/head/chefhat(src) + /* * Janitor */ @@ -43,6 +67,7 @@ ..() sleep(2) new /obj/item/clothing/under/rank/janitor(src) + new /obj/item/device/radio/headset/headset_service(src) new /obj/item/weapon/cartridge/janitor(src) new /obj/item/clothing/gloves/black(src) new /obj/item/clothing/head/soft/purple(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm index 6a6a1eee09..4f5b9a9adf 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -20,6 +20,7 @@ new /obj/item/weapon/storage/bag/plants(src) new /obj/item/clothing/under/rank/hydroponics(src) new /obj/item/device/analyzer/plant_analyzer(src) + new /obj/item/device/radio/headset/headset_service(src) new /obj/item/clothing/head/greenbandana(src) new /obj/item/weapon/minihoe(src) new /obj/item/weapon/hatchet(src) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index ba8613dcbb..4deaae5c5d 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -12,6 +12,7 @@ var/list/department_radio_keys = list( ":w" = "whisper", "#w" = "whisper", ".w" = "whisper", ":t" = "Mercenary", "#t" = "Mercenary", ".t" = "Mercenary", ":u" = "Supply", "#u" = "Supply", ".u" = "Supply", + ":v" = "Service", "#v" = "Service", ".v" = "Service", ":o" = "AI Private", "#o" = "AI Private", ".o" = "AI Private", ":R" = "right ear", "#R" = "right ear", ".R" = "right ear", @@ -26,6 +27,7 @@ var/list/department_radio_keys = list( ":W" = "whisper", "#W" = "whisper", ".W" = "whisper", ":T" = "Mercenary", "#T" = "Mercenary", ".T" = "Mercenary", ":U" = "Supply", "#U" = "Supply", ".U" = "Supply", + ":V" = "Service", "#V" = "Service", ".V" = "Service", ":O" = "AI Private", "#O" = "AI Private", ".O" = "AI Private", //kinda localization -- rastaf0 diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index b0c7acad23..caf76cbf0b 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -198,6 +198,7 @@ var/list/robot_verbs_default = list( if("Service") module = new /obj/item/weapon/robot_module/butler(src) + module.channels = list("Service" = 1) module_sprites["Waitress"] = "Service" module_sprites["Kent"] = "toiletbot" module_sprites["Bro"] = "Brobot" @@ -207,6 +208,7 @@ var/list/robot_verbs_default = list( if("Clerical") module = new /obj/item/weapon/robot_module/clerical(src) + module.channels = list("Service" = 1) module_sprites["Waitress"] = "Service" module_sprites["Kent"] = "toiletbot" module_sprites["Bro"] = "Brobot" @@ -280,6 +282,7 @@ var/list/robot_verbs_default = list( if("Janitor") module = new /obj/item/weapon/robot_module/janitor(src) + module.channels = list("Service" = 1) module_sprites["Basic"] = "JanBot2" module_sprites["Mopbot"] = "janitorrobot" module_sprites["Mop Gear Rex"] = "mopgearrex" diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index 2ff6abba53..b0cc8d6050 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -217,6 +217,7 @@ var/obj/machinery/blackbox_recorder/blackbox var/list/msg_deathsquad = list() var/list/msg_syndicate = list() var/list/msg_cargo = list() + var/list/msg_service = list() var/list/datum/feedback_variable/feedback = new() @@ -241,6 +242,7 @@ var/obj/machinery/blackbox_recorder/blackbox BR.msg_deathsquad = msg_deathsquad BR.msg_syndicate = msg_syndicate BR.msg_cargo = msg_cargo + BR.msg_service = msg_service BR.feedback = feedback BR.messages = messages BR.messages_admin = messages_admin @@ -281,6 +283,7 @@ var/obj/machinery/blackbox_recorder/blackbox feedback_add_details("radio_usage","DTH-[msg_deathsquad.len]") feedback_add_details("radio_usage","SYN-[msg_syndicate.len]") feedback_add_details("radio_usage","CAR-[msg_cargo.len]") + feedback_add_details("radio_usage","SRV-[msg_service.len]") feedback_add_details("radio_usage","OTH-[messages.len]") feedback_add_details("radio_usage","PDA-[pda_msg_amt]") feedback_add_details("radio_usage","RC-[rc_msg_amt]") diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 21a2a9abfe..67e13f8e32 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -37,6 +37,7 @@ em {font-style: normal; font-weight: bold;} .medradio {color: #008160;} .sciradio {color: #993399;} .supradio {color: #5F4519;} +.srvradio {color: #6eaa2c;} .alert {color: #ff0000;} h1.alert, h2.alert {color: #000000;} diff --git a/icons/obj/radio.dmi b/icons/obj/radio.dmi index 9c4830d273cb40f43ab3ece84db41eeee1817357..cd4fac17b99bd45c85d4c880b0581b23ab740999 100644 GIT binary patch delta 5809 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 delta 5761 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 BHl6?g diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index d14a2e344b..a17cf7f019 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -1824,7 +1824,7 @@ "aJd" = (/turf/simulated/wall,/area/crew_quarters/kitchen) "aJe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/crew_quarters/locker) "aJf" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) -"aJg" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/clothing/head/chefhat,/obj/item/clothing/under/rank/chef,/obj/item/weapon/storage/box/mousetraps{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/obj/item/clothing/under/waiter,/obj/item/clothing/under/sundress,/obj/item/device/eftpos{eftpos_name = "Kitchen EFTPOS scanner"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aJg" = (/obj/structure/closet/chefcloset,/obj/machinery/light/small{dir = 1},/obj/item/device/eftpos{eftpos_name = "Kitchen EFTPOS scanner"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aJh" = (/obj/machinery/camera{c_tag = "Kitchen Cold Room"},/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aJi" = (/obj/machinery/door/window/southleft{base_state = "left"; dir = 2; icon_state = "left"; name = "Kitchen Delivery"; req_access_txt = "28"},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/kitchen) "aJj" = (/turf/simulated/wall,/area/hydroponics) @@ -8712,7 +8712,7 @@ "dlB" = (/turf/space/transit/east/shuttlespace_ew1,/area/space) "dlC" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air{filled = 0.05},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance) "dlD" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dlE" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) +"dlE" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) "dlF" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/wall,/area/constructionsite/hallway/aft) "dlG" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft) "dlH" = (/obj/machinery/atmospherics/tvalve/mirrored/digital{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room)