mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-28 18:11:16 +00:00
## About The Pull Request The first Curator now spawns with a **Broadcast Camera**, a normal-sized item that can be wielded to start a live broadcast to all entertainment screens across the Station! It also broadcasts sound through a new Entertainment radio channel that can be spoken into by the Curator. The broadcast name can be changed by right-clicking the camera. <details> https://github.com/user-attachments/assets/cfe2a147-15b3-4a96-85e2-3082376a0e9a </details> Also adds a new clothing set to the Heroic Beacon of the Curator themed around Journalists containing some unique clothing, a microphone, a Press badge used for shoving into people's faces and crafting more clothes (like Press armor and helmet), and also a set of 1 TV and 1 entertainment radio in-case station does not have places to watch Curator's brilliant broadcasts.  ## Why It's Good For The Game The job of Curator has 3 things it can do: - Curate Library (lol) - Explore Space - **Create News!** Although the Curator does have extended access to the Newscaster - that's not enough of content. Inspired by the Combat Correspondent from the Colonial Marines server - Curator now has a **Broadcast Camera**! Using it they can show the station what the most important matters that are going on without lifting the butts of their comfortable chairs. No matter what Curator will report: Security raiding Medbay? Interviews of Cargo Techs complaining about Command? Maybe even shows produced in a studio? Anything really! Also, entertainment screens will get more use, as right now they only _sometimes_ broadcast Bitrunning avatars and nothing else unless admins mess with them. ## Changelog 🆑 DrDiasyl aka DrTuxedo add: Curator has received a new BROADCAST CAMERA which can broadcast the surroundings LIVE on Entertainment Screens/ Alongside with some other Journalism related gear in his Heroic Beacon sound: Entertainment screens now play muffled speech when hearing a message on Entertainment frequency /🆑
232 lines
8.9 KiB
Plaintext
232 lines
8.9 KiB
Plaintext
/obj/item/encryptionkey
|
|
name = "standard encryption key"
|
|
desc = "An encryption key for a radio headset."
|
|
icon = 'icons/obj/devices/circuitry_n_data.dmi'
|
|
icon_state = "cypherkey_basic"
|
|
w_class = WEIGHT_CLASS_TINY
|
|
/// What channels does this encryption key grant to the parent headset.
|
|
var/list/channels = list()
|
|
/// Flags for which "special" radio networks should be accessible
|
|
var/special_channels = NONE
|
|
var/datum/language/translated_language
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_basic
|
|
greyscale_colors = "#820a16#3758c4"
|
|
|
|
/obj/item/encryptionkey/examine(mob/user)
|
|
. = ..()
|
|
if(LAZYLEN(channels) || special_channels & RADIO_SPECIAL_BINARY)
|
|
var/list/examine_text_list = list()
|
|
for(var/i in channels)
|
|
examine_text_list += "[GLOB.channel_tokens[i]] - [LOWER_TEXT(i)]"
|
|
|
|
if(special_channels & RADIO_SPECIAL_BINARY)
|
|
examine_text_list += "[GLOB.channel_tokens[MODE_BINARY]] - [MODE_BINARY]"
|
|
|
|
. += span_notice("It can access the following channels; [jointext(examine_text_list, ", ")].")
|
|
else
|
|
. += span_warning("Has no special codes in it. You should probably tell a coder!")
|
|
|
|
/obj/item/encryptionkey/syndicate
|
|
name = "syndicate encryption key"
|
|
icon_state = "cypherkey_syndicate"
|
|
channels = list(RADIO_CHANNEL_SYNDICATE = 1)
|
|
special_channels = RADIO_SPECIAL_SYNDIE
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_syndicate
|
|
greyscale_colors = "#171717#990000"
|
|
|
|
/obj/item/encryptionkey/binary
|
|
name = "binary translator key"
|
|
icon_state = "cypherkey_basic"
|
|
special_channels = RADIO_SPECIAL_BINARY
|
|
translated_language = /datum/language/machine
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_basic
|
|
greyscale_colors = "#24a157#3758c4"
|
|
|
|
/obj/item/encryptionkey/headset_sec
|
|
name = "security radio encryption key"
|
|
icon_state = "cypherkey_security"
|
|
channels = list(RADIO_CHANNEL_SECURITY = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_security
|
|
greyscale_colors = "#820a16#280b1a"
|
|
|
|
/obj/item/encryptionkey/headset_eng
|
|
name = "engineering radio encryption key"
|
|
icon_state = "cypherkey_engineering"
|
|
channels = list(RADIO_CHANNEL_ENGINEERING = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_engineering
|
|
greyscale_colors = "#f8d860#dca01b"
|
|
|
|
/obj/item/encryptionkey/headset_rob
|
|
name = "robotics radio encryption key"
|
|
icon_state = "cypherkey_engineering"
|
|
channels = list(RADIO_CHANNEL_SCIENCE = 1, RADIO_CHANNEL_ENGINEERING = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_engineering
|
|
greyscale_colors = "#793a80#dca01b"
|
|
|
|
/obj/item/encryptionkey/headset_med
|
|
name = "medical radio encryption key"
|
|
icon_state = "cypherkey_medical"
|
|
channels = list(RADIO_CHANNEL_MEDICAL = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_medical
|
|
greyscale_colors = "#ebebeb#69abd1"
|
|
|
|
/obj/item/encryptionkey/headset_sci
|
|
name = "science radio encryption key"
|
|
icon_state = "cypherkey_research"
|
|
channels = list(RADIO_CHANNEL_SCIENCE = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_research
|
|
greyscale_colors = "#793a80#bc4a9b"
|
|
|
|
/obj/item/encryptionkey/headset_medsci
|
|
name = "medical research radio encryption key"
|
|
icon_state = "cypherkey_medical"
|
|
channels = list(RADIO_CHANNEL_SCIENCE = 1, RADIO_CHANNEL_MEDICAL = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_medical
|
|
greyscale_colors = "#ebebeb#9d1de8"
|
|
|
|
/obj/item/encryptionkey/headset_srvsec
|
|
name = "law and order radio encryption key"
|
|
icon_state = "cypherkey_service"
|
|
channels = list(RADIO_CHANNEL_SERVICE = 1, RADIO_CHANNEL_SECURITY = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_service
|
|
greyscale_colors = "#820a16#3bca5a"
|
|
|
|
/obj/item/encryptionkey/headset_srvmed
|
|
name = "psychology radio encryption key"
|
|
icon_state = "cypherkey_service"
|
|
channels = list(RADIO_CHANNEL_MEDICAL = 1, RADIO_CHANNEL_SERVICE = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_service
|
|
greyscale_colors = "#ebebeb#3bca5a"
|
|
|
|
/obj/item/encryptionkey/headset_srvent
|
|
name = "press radio encryption key"
|
|
icon_state = "cypherkey_service"
|
|
channels = list(RADIO_CHANNEL_SERVICE = 1, RADIO_CHANNEL_ENTERTAINMENT = 0)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_service
|
|
greyscale_colors = "#83eb8f#3bca5a"
|
|
|
|
/obj/item/encryptionkey/headset_com
|
|
name = "command radio encryption key"
|
|
icon_state = "cypherkey_cube"
|
|
channels = list(RADIO_CHANNEL_COMMAND = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_cube
|
|
greyscale_colors = "#2b2793#67a552"
|
|
|
|
/obj/item/encryptionkey/heads/captain
|
|
name = "\proper the captain's encryption key"
|
|
icon_state = "cypherkey_cube"
|
|
channels = list(RADIO_CHANNEL_COMMAND = 1, RADIO_CHANNEL_SECURITY = 1, RADIO_CHANNEL_ENGINEERING = 0, RADIO_CHANNEL_SCIENCE = 0, RADIO_CHANNEL_MEDICAL = 0, RADIO_CHANNEL_SUPPLY = 0, RADIO_CHANNEL_SERVICE = 0)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_cube
|
|
greyscale_colors = "#2b2793#dca01b"
|
|
|
|
/obj/item/encryptionkey/heads/rd
|
|
name = "\proper the research director's encryption key"
|
|
icon_state = "cypherkey_research"
|
|
channels = list(RADIO_CHANNEL_SCIENCE = 1, RADIO_CHANNEL_COMMAND = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_research
|
|
greyscale_colors = "#bc4a9b#793a80"
|
|
|
|
/obj/item/encryptionkey/heads/hos
|
|
name = "\proper the head of security's encryption key"
|
|
icon_state = "cypherkey_security"
|
|
channels = list(RADIO_CHANNEL_SECURITY = 1, RADIO_CHANNEL_COMMAND = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_security
|
|
greyscale_colors = "#280b1a#820a16"
|
|
|
|
/obj/item/encryptionkey/heads/ce
|
|
name = "\proper the chief engineer's encryption key"
|
|
icon_state = "cypherkey_engineering"
|
|
channels = list(RADIO_CHANNEL_ENGINEERING = 1, RADIO_CHANNEL_COMMAND = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_engineering
|
|
greyscale_colors = "#dca01b#f8d860"
|
|
|
|
/obj/item/encryptionkey/heads/cmo
|
|
name = "\proper the chief medical officer's encryption key"
|
|
icon_state = "cypherkey_medical"
|
|
channels = list(RADIO_CHANNEL_MEDICAL = 1, RADIO_CHANNEL_COMMAND = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_medical
|
|
greyscale_colors = "#ebebeb#2b2793"
|
|
|
|
/obj/item/encryptionkey/heads/hop
|
|
name = "\proper the head of personnel's encryption key"
|
|
icon_state = "cypherkey_cube"
|
|
channels = list(RADIO_CHANNEL_SERVICE = 1, RADIO_CHANNEL_COMMAND = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_cube
|
|
greyscale_colors = "#2b2793#c2c1c9"
|
|
|
|
/obj/item/encryptionkey/heads/qm
|
|
name = "\proper the quartermaster's encryption key"
|
|
icon_state = "cypherkey_cargo"
|
|
channels = list(RADIO_CHANNEL_SUPPLY = 1, RADIO_CHANNEL_COMMAND = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_cargo
|
|
greyscale_colors = "#49241a#dca01b"
|
|
|
|
/obj/item/encryptionkey/headset_cargo
|
|
name = "supply radio encryption key"
|
|
icon_state = "cypherkey_cargo"
|
|
channels = list(RADIO_CHANNEL_SUPPLY = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_cargo
|
|
greyscale_colors = "#49241a#7b3f2e"
|
|
|
|
/obj/item/encryptionkey/headset_mining
|
|
name = "mining radio encryption key"
|
|
icon_state = "cypherkey_cargo"
|
|
channels = list(RADIO_CHANNEL_SUPPLY = 1, RADIO_CHANNEL_SCIENCE = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_cargo
|
|
greyscale_colors = "#49241a#bc4a9b"
|
|
|
|
/obj/item/encryptionkey/headset_service
|
|
name = "service radio encryption key"
|
|
icon_state = "cypherkey_service"
|
|
channels = list(RADIO_CHANNEL_SERVICE = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_service
|
|
greyscale_colors = "#3758c4#3bca5a"
|
|
|
|
/obj/item/encryptionkey/headset_cent
|
|
name = "\improper CentCom radio encryption key"
|
|
icon_state = "cypherkey_centcom"
|
|
special_channels = RADIO_SPECIAL_CENTCOM
|
|
channels = list(RADIO_CHANNEL_CENTCOM = 1)
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_centcom
|
|
greyscale_colors = "#24a157#dca01b"
|
|
|
|
/obj/item/encryptionkey/ai //ported from NT, this goes 'inside' the AI.
|
|
channels = list(
|
|
RADIO_CHANNEL_COMMAND = 1,
|
|
RADIO_CHANNEL_SECURITY = 1,
|
|
RADIO_CHANNEL_ENGINEERING = 1,
|
|
RADIO_CHANNEL_SCIENCE = 1,
|
|
RADIO_CHANNEL_MEDICAL = 1,
|
|
RADIO_CHANNEL_SUPPLY = 1,
|
|
RADIO_CHANNEL_SERVICE = 1,
|
|
RADIO_CHANNEL_AI_PRIVATE = 1,
|
|
RADIO_CHANNEL_ENTERTAINMENT = 1,
|
|
)
|
|
|
|
/obj/item/encryptionkey/ai_with_binary
|
|
name = "ai encryption key"
|
|
channels = list(
|
|
RADIO_CHANNEL_COMMAND = 1,
|
|
RADIO_CHANNEL_SECURITY = 1,
|
|
RADIO_CHANNEL_ENGINEERING = 1,
|
|
RADIO_CHANNEL_SCIENCE = 1,
|
|
RADIO_CHANNEL_MEDICAL = 1,
|
|
RADIO_CHANNEL_SUPPLY = 1,
|
|
RADIO_CHANNEL_SERVICE = 1,
|
|
RADIO_CHANNEL_AI_PRIVATE = 1,
|
|
RADIO_CHANNEL_ENTERTAINMENT = 1,
|
|
)
|
|
special_channels = RADIO_SPECIAL_BINARY
|
|
translated_language = /datum/language/machine
|
|
|
|
/obj/item/encryptionkey/ai/evil //ported from NT, this goes 'inside' the AI.
|
|
name = "syndicate binary encryption key"
|
|
icon_state = "cypherkey_syndicate"
|
|
channels = list(RADIO_CHANNEL_SYNDICATE = 1)
|
|
special_channels = RADIO_SPECIAL_SYNDIE
|
|
greyscale_config = /datum/greyscale_config/encryptionkey_syndicate
|
|
greyscale_colors = "#171717#990000"
|
|
|
|
/obj/item/encryptionkey/secbot
|
|
channels = list(RADIO_CHANNEL_AI_PRIVATE = 1, RADIO_CHANNEL_SECURITY = 1)
|