From 010de3fc9db9207d28a1b3fd7f5fd133efa7295d Mon Sep 17 00:00:00 2001 From: Geeves Date: Thu, 6 Aug 2020 21:13:03 +0200 Subject: [PATCH] Radio Things (#9487) --- .../items/devices/radio/encryptionkey.dm | 64 +++++++-- .../objects/items/devices/radio/headset.dm | 125 +++++++----------- .../game/objects/items/devices/radio/radio.dm | 4 +- .../closets/secure/engineering.dm | 1 + .../crates_lockers/closets/secure/medical.dm | 1 + .../closets/secure/scientist.dm | 1 + .../crates_lockers/closets/secure/security.dm | 1 + code/modules/admin/verbs/bluespacetech.dm | 3 +- html/changelogs/geeves-more_keys.yml | 8 ++ icons/obj/radio.dmi | Bin 24236 -> 24689 bytes 10 files changed, 118 insertions(+), 90 deletions(-) create mode 100644 html/changelogs/geeves-more_keys.yml diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index ba0471e544b..f3037c787a2 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -7,36 +7,36 @@ w_class = ITEMSIZE_TINY slot_flags = SLOT_EARS var/translate_binary = FALSE - var/translate_hive = FALSE var/translate_hivenet = FALSE var/syndie = FALSE // Signifies that it de-crypts Syndicate transmissions var/list/channels = list(CHANNEL_COMMON = TRUE, CHANNEL_ENTERTAINMENT = TRUE) + var/list/additional_channels = list() /obj/item/device/encryptionkey/attackby(obj/item/W, mob/user) return /obj/item/device/encryptionkey/syndicate icon_state = "cypherkey" - channels = list(CHANNEL_COMMON = TRUE, CHANNEL_ENTERTAINMENT = TRUE, CHANNEL_MERCENARY = TRUE) + additional_channels = list(CHANNEL_MERCENARY = TRUE) origin_tech = list(TECH_ILLEGAL = 3) desc_antag = "An encryption key that allows you to intercept comms and speak on private non-station channels. Use :t to access the private channel." syndie = TRUE /obj/item/device/encryptionkey/raider icon_state = "cypherkey" - channels = list(CHANNEL_COMMON = TRUE, CHANNEL_ENTERTAINMENT = TRUE, CHANNEL_RAIDER = TRUE) + additional_channels = list(CHANNEL_RAIDER = TRUE) origin_tech = list(TECH_ILLEGAL = 2) syndie = TRUE /obj/item/device/encryptionkey/burglar icon_state = "cypherkey" - channels = list(CHANNEL_COMMON = TRUE, CHANNEL_ENTERTAINMENT = TRUE, CHANNEL_BURGLAR = TRUE) + additional_channels = list(CHANNEL_BURGLAR = TRUE) origin_tech = list(TECH_ILLEGAL = 2) syndie = TRUE /obj/item/device/encryptionkey/ninja icon_state = "cypherkey" - channels = list(CHANNEL_COMMON = TRUE, CHANNEL_ENTERTAINMENT = TRUE, CHANNEL_NINJA = TRUE) + additional_channels = list(CHANNEL_NINJA = TRUE) origin_tech = list(TECH_ILLEGAL = 3) syndie = TRUE @@ -141,13 +141,57 @@ name = "\improper ERT radio encryption key" channels = list(CHANNEL_RESPONSE_TEAM = TRUE) -/obj/item/device/encryptionkey/entertainment - name = "entertainment radio key" - channels = list(CHANNEL_ENTERTAINMENT = TRUE) - /obj/item/device/encryptionkey/rev name = "standard encryption key" desc = "An encryption key for a radio headset. Contains cypherkeys." - channels = list(CHANNEL_COMMON = TRUE, CHANNEL_ENTERTAINMENT = TRUE, CHANNEL_RAIDER = TRUE) + additional_channels = list(CHANNEL_RAIDER = TRUE) origin_tech = list(TECH_ILLEGAL = 2) desc_antag = "An encryption key that allows you to speak on private non-station channels. Use :x to access the private channel." + +/obj/item/device/encryptionkey/eng_spare + name = "spare engineering radio encryption key" + additional_channels = list(CHANNEL_ENGINEERING = TRUE) + +/obj/item/device/encryptionkey/med_spare + name = "spare medical radio encryption key" + additional_channels = list(CHANNEL_MEDICAL = TRUE) + +/obj/item/device/encryptionkey/sec_spare + name = "spare security radio encryption key" + additional_channels = list(CHANNEL_SECURITY = TRUE) + +/obj/item/device/encryptionkey/sci_spare + name = "spare science radio encryption key" + additional_channels = list(CHANNEL_SCIENCE = TRUE) + + +// Encryption Key Pouch +/obj/item/storage/box/fancy/keypouch + name = "encryption key pouch" + desc = "A pouch designed to store three encryption keys." + icon = 'icons/obj/radio.dmi' + icon_state = "keypouch0" + icon_type = "key" + storage_type = "pouch" + opened = TRUE + closable = FALSE + center_of_mass = list("x" = 16,"y" = 7) + storage_slots = 3 + can_hold = list(/obj/item/device/encryptionkey) + starts_with = null + +/obj/item/storage/box/fancy/keypouch/Initialize() + . = ..() + update_icon() + +/obj/item/storage/box/fancy/keypouch/eng + starts_with = list(/obj/item/device/encryptionkey/eng_spare = 3) + +/obj/item/storage/box/fancy/keypouch/med + starts_with = list(/obj/item/device/encryptionkey/med_spare = 3) + +/obj/item/storage/box/fancy/keypouch/sec + starts_with = list(/obj/item/device/encryptionkey/sec_spare = 3) + +/obj/item/storage/box/fancy/keypouch/sci + starts_with = list(/obj/item/device/encryptionkey/sci_spare = 3) \ No newline at end of file diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index e303966a137..accf92f97bb 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -4,13 +4,12 @@ icon_state = "headset" item_state = "headset" matter = list(DEFAULT_WALL_MATERIAL = 75) - subspace_transmission = 1 + subspace_transmission = TRUE canhear_range = 0 // can't hear headsets from very far away slot_flags = SLOT_EARS - var/translate_binary = 0 - var/translate_hive = 0 - var/translate_hivenet = 0 + var/translate_binary = FALSE + var/translate_hivenet = FALSE var/obj/item/device/encryptionkey/keyslot1 = null var/obj/item/device/encryptionkey/keyslot2 = null @@ -28,7 +27,7 @@ keyslot1 = new ks1type(src) if(ks2type) keyslot2 = new ks2type(src) - recalculateChannels(1) + recalculateChannels(TRUE) /obj/item/device/radio/headset/Destroy() QDEL_NULL(keyslot1) @@ -45,15 +44,18 @@ to_chat(user, "The following channels are available:") to_chat(user, radio_desc) -/obj/item/device/radio/headset/handle_message_mode(mob/living/M as mob, message, channel) - if (channel == "special") - if (translate_binary) - var/datum/language/binary = all_languages["Robot Talk"] +/obj/item/device/radio/headset/setupRadioDescription() + if(translate_binary || translate_hivenet) + ..(", :+ - Special") + else + ..() + +/obj/item/device/radio/headset/handle_message_mode(mob/living/M, message, channel) + if(channel == "special") + if(translate_binary) + var/datum/language/binary = all_languages[LANGUAGE_ROBOT] binary.broadcast(M, message) - if (translate_hive) - var/datum/language/hivemind = all_languages["Hivemind"] - hivemind.broadcast(M, message) - if (translate_hivenet) + if(translate_hivenet) var/datum/language/bug = all_languages[LANGUAGE_VAURCA] bug.broadcast(M, message) return null @@ -69,105 +71,74 @@ return ..(freq, level) return -1 -/obj/item/device/radio/headset/attackby(obj/item/W as obj, mob/user as mob) -// ..() - user.set_machine(src) - if (!( W.isscrewdriver() || (istype(W, /obj/item/device/encryptionkey/ )))) - return - +/obj/item/device/radio/headset/attackby(obj/item/W, mob/user) if(W.isscrewdriver()) if(keyslot1 || keyslot2) - - for(var/ch_name in channels) SSradio.remove_object(src, radiochannels[ch_name]) secure_radio_connections[ch_name] = null - if(keyslot1) var/turf/T = get_turf(user) if(T) keyslot1.forceMove(T) keyslot1 = null - - if(keyslot2) var/turf/T = get_turf(user) if(T) keyslot2.forceMove(T) keyslot2 = null - recalculateChannels() - to_chat(user, "You pop out the encryption keys in the headset!") - + recalculateChannels(TRUE) + to_chat(user, SPAN_NOTICE("You pop out the encryption keys in the headset!")) else - to_chat(user, "This headset doesn't have any encryption keys! How useless...") + to_chat(user, SPAN_WARNING("This headset doesn't have any encryption keys!")) - if(istype(W, /obj/item/device/encryptionkey/)) + else if(istype(W, /obj/item/device/encryptionkey)) if(keyslot1 && keyslot2) - to_chat(user, "The headset can't hold another key!") + to_chat(user, SPAN_WARNING("The headset can't hold another key!")) return if(!keyslot1) - user.drop_from_inventory(W,src) + user.drop_from_inventory(W, src) keyslot1 = W - else - user.drop_from_inventory(W,src) + user.drop_from_inventory(W, src) keyslot2 = W - - recalculateChannels() - - return + recalculateChannels(TRUE) -/obj/item/device/radio/headset/proc/recalculateChannels(var/setDescription = 0) +/obj/item/device/radio/headset/proc/recalculateChannels(var/setDescription = FALSE) src.channels = list() - src.translate_binary = 0 - src.translate_hive = 0 - src.translate_hivenet = 0 - src.syndie = 0 + src.translate_binary = FALSE + src.translate_hivenet = FALSE + src.syndie = FALSE - if(keyslot1) - for(var/ch_name in keyslot1.channels) + for(var/keyslot in list(keyslot1, keyslot2)) + if(!keyslot) + continue + var/obj/item/device/encryptionkey/K = keyslot + + for(var/ch_name in K.channels) if(ch_name in src.channels) continue - src.channels += ch_name - src.channels[ch_name] = keyslot1.channels[ch_name] + src.channels[ch_name] = K.channels[ch_name] - if(keyslot1.translate_binary) - src.translate_binary = 1 - - if(keyslot1.translate_hive) - src.translate_hive = 1 - - if(keyslot1.translate_hivenet) - src.translate_hivenet = 1 - - if(keyslot1.syndie) - src.syndie = 1 - - if(keyslot2) - for(var/ch_name in keyslot2.channels) + for(var/ch_name in K.additional_channels) if(ch_name in src.channels) continue - src.channels += ch_name - src.channels[ch_name] = keyslot2.channels[ch_name] + src.channels[ch_name] = K.additional_channels[ch_name] - if(keyslot2.translate_binary) - src.translate_binary = 1 + if(K.translate_binary) + src.translate_binary = TRUE - if(keyslot2.translate_hive) - src.translate_hive = 1 - - if(keyslot2.translate_hivenet) - src.translate_hivenet = 1 - - if(keyslot2.syndie) - src.syndie = 1 + if(K.translate_hivenet) + src.translate_hivenet = TRUE + if(K.syndie) + src.syndie = TRUE for (var/ch_name in channels) if(!SSradio) @@ -176,7 +147,7 @@ src.name = "broken radio headset" return - secure_radio_connections[ch_name] = SSradio.add_object(src, radiochannels[ch_name], RADIO_CHAT) + secure_radio_connections[ch_name] = SSradio.add_object(src, radiochannels[ch_name], RADIO_CHAT) if(setDescription) setupRadioDescription() @@ -254,7 +225,7 @@ name = "mining radio headset" desc = "Headset used by dwarves. It has an inbuilt subspace antenna for better reception." icon_state = "mine_headset" - ks1type = /obj/item/device/encryptionkey/headset_cargo + ks2type = /obj/item/device/encryptionkey/headset_cargo /obj/item/device/radio/headset/headset_mining/alt name = "mining bowman radio headset" @@ -393,7 +364,7 @@ /obj/item/device/radio/headset/hivenet translate_hivenet = 1 - ks1type = /obj/item/device/encryptionkey/hivenet + ks2type = /obj/item/device/encryptionkey/hivenet /obj/item/device/radio/headset/syndicate name = "military headset" @@ -427,7 +398,7 @@ /obj/item/device/radio/headset/binary origin_tech = list(TECH_ILLEGAL = 3) - ks1type = /obj/item/device/encryptionkey/binary + ks2type = /obj/item/device/encryptionkey/binary /obj/item/device/radio/headset/ert name = "emergency response team radio headset" @@ -468,4 +439,4 @@ /obj/item/device/radio/headset/heads/ai_integrated/Destroy() myAi = null - return ..() + return ..() \ No newline at end of file diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index b4763f75cdc..2087469d5ff 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -126,7 +126,7 @@ var/global/list/default_medbay_channels = list( ui.set_initial_data(data) ui.open() -/obj/item/device/radio/proc/setupRadioDescription() +/obj/item/device/radio/proc/setupRadioDescription(var/additional_radio_desc) var/radio_text = "" for(var/i = 1 to channels.len) var/channel = channels[i] @@ -136,6 +136,8 @@ var/global/list/default_medbay_channels = list( radio_text += ", " radio_desc = radio_text + if(additional_radio_desc) + radio_desc += additional_radio_desc /obj/item/device/radio/proc/list_channels(var/mob/user) return list_internal_channels(user) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index a1ede685c09..85c290574aa 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -37,6 +37,7 @@ new /obj/item/taperoll/engineering(src) new /obj/item/clothing/accessory/storage/overalls/chief(src) new /obj/item/rfd/piping(src) + new /obj/item/storage/box/fancy/keypouch/eng(src) /obj/structure/closet/secure_closet/engineering_chief2 name = "chief engineer's attire" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 8c61022d4e0..0e633c5a3e0 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -117,6 +117,7 @@ new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src) new /obj/item/storage/box/inhalers(src) new /obj/item/clothing/glasses/hud/health/aviator(src) + new /obj/item/storage/box/fancy/keypouch/med(src) /obj/structure/closet/secure_closet/CMO2 name = "chief medical officer's attire" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index fc115538811..4cdb8bb7281 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -46,6 +46,7 @@ new /obj/item/device/flash(src) new /obj/item/storage/box/firingpinsRD(src) new /obj/item/device/pin_extractor(src) + new /obj/item/storage/box/fancy/keypouch/sci(src) /obj/structure/closet/secure_closet/RD2 name = "research director's attire" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index c2eeed79fbb..422417e4503 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -154,6 +154,7 @@ //Belts new /obj/item/clothing/accessory/holster/waist(src) new /obj/item/storage/belt/security(src) + new /obj/item/storage/box/fancy/keypouch/sec(src) /obj/structure/closet/secure_closet/hos2 name = "head of security's attire" diff --git a/code/modules/admin/verbs/bluespacetech.dm b/code/modules/admin/verbs/bluespacetech.dm index c2a17fe4613..11bfc705930 100644 --- a/code/modules/admin/verbs/bluespacetech.dm +++ b/code/modules/admin/verbs/bluespacetech.dm @@ -377,7 +377,7 @@ name = "bluespace technician's headset" desc = "A Bluespace Technician's headset. The letters 'BST' are stamped on the side." translate_binary = 1 - translate_hive = 1 + translate_hivenet = 1 canremove = 0 keyslot1 = new /obj/item/device/encryptionkey/binary keyslot2 = new /obj/item/device/encryptionkey/ert @@ -395,7 +395,6 @@ /obj/item/device/radio/headset/ert/bst/recalculateChannels(var/setDescription = 0) ..(setDescription) translate_binary = 1 - translate_hive = 1 translate_hivenet = 1 //Clothes diff --git a/html/changelogs/geeves-more_keys.yml b/html/changelogs/geeves-more_keys.yml new file mode 100644 index 00000000000..fda987b263b --- /dev/null +++ b/html/changelogs/geeves-more_keys.yml @@ -0,0 +1,8 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added spare encryption keys to the CE, CMO, RD, and HoS' office lockers." + - rscadd: "The special radio key now shows if you get a headset that comes with binary or hivenet translation." + - bugfix: "Mining, hivenet, and binary headsets now gets the correct first common and entertainment keys." \ No newline at end of file diff --git a/icons/obj/radio.dmi b/icons/obj/radio.dmi index 7aad9d462442bfd0da1f31f4c93ed547f89ac4d8..edce0c3345d86473ca1476eacee0e40294097761 100644 GIT binary patch delta 20692 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 M07*qoM6N<$f?^mVxc~qF