diff --git a/code/__DEFINES/radio.dm b/code/__DEFINES/radio.dm index 897d107939..928f364a81 100644 --- a/code/__DEFINES/radio.dm +++ b/code/__DEFINES/radio.dm @@ -1,5 +1,55 @@ // Radios use a large variety of predefined frequencies. +//say based modes like binary are in living/say.dm + +#define RADIO_CHANNEL_COMMON "Common" +#define RADIO_KEY_COMMON ";" + +#define RADIO_CHANNEL_SECURITY "Security" +#define RADIO_KEY_SECURITY "s" +#define RADIO_TOKEN_SECURITY ":s" + +#define RADIO_CHANNEL_ENGINEERING "Engineering" +#define RADIO_KEY_ENGINEERING "e" +#define RADIO_TOKEN_ENGINEERING ":e" + +#define RADIO_CHANNEL_COMMAND "Command" +#define RADIO_KEY_COMMAND "c" +#define RADIO_TOKEN_COMMAND ":c" + +#define RADIO_CHANNEL_SCIENCE "Science" +#define RADIO_KEY_SCIENCE "n" +#define RADIO_TOKEN_SCIENCE ":n" + +#define RADIO_CHANNEL_MEDICAL "Medical" +#define RADIO_KEY_MEDICAL "m" +#define RADIO_TOKEN_MEDICAL ":m" + +#define RADIO_CHANNEL_SUPPLY "Supply" +#define RADIO_KEY_SUPPLY "u" +#define RADIO_TOKEN_SUPPLY ":u" + +#define RADIO_CHANNEL_SERVICE "Service" +#define RADIO_KEY_SERVICE "v" +#define RADIO_TOKEN_SERVICE ":v" + +#define RADIO_CHANNEL_AI_PRIVATE "AI Private" +#define RADIO_KEY_AI_PRIVATE "o" +#define RADIO_TOKEN_AI_PRIVATE ":o" + + +#define RADIO_CHANNEL_SYNDICATE "Syndicate" +#define RADIO_KEY_SYNDICATE "t" +#define RADIO_TOKEN_SYNDICATE ":t" + +#define RADIO_CHANNEL_CENTCOM "CentCom" +#define RADIO_KEY_CENTCOM "y" +#define RADIO_TOKEN_CENTCOM ":y" + +#define RADIO_CHANNEL_CTF_RED "Red Team" +#define RADIO_CHANNEL_CTF_BLUE "Blue Team" + + #define MIN_FREE_FREQ 1201 // ------------------------------------------------- // Frequencies are always odd numbers and range from 1201 to 1599. diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm index 82fbfdb848..e655408db1 100644 --- a/code/__DEFINES/say.dm +++ b/code/__DEFINES/say.dm @@ -6,17 +6,43 @@ //Message modes. Each one defines a radio channel, more or less. #define MODE_HEADSET "headset" #define MODE_ROBOT "robot" + #define MODE_R_HAND "right hand" +#define MODE_KEY_R_HAND "r" + #define MODE_L_HAND "left hand" +#define MODE_KEY_L_HAND "l" + #define MODE_INTERCOM "intercom" +#define MODE_KEY_INTERCOM "i" + #define MODE_BINARY "binary" +#define MODE_KEY_BINARY "b" +#define MODE_TOKEN_BINARY ":b" + #define MODE_WHISPER "whisper" #define MODE_WHISPER_CRIT "whispercrit" + #define MODE_DEPARTMENT "department" +#define MODE_KEY_DEPARTMENT "h" +#define MODE_TOKEN_DEPARTMENT ":h" + +#define MODE_ADMIN "admin" +#define MODE_KEY_ADMIN "p" + +#define MODE_DEADMIN "deadmin" +#define MODE_KEY_DEADMIN "d" + #define MODE_ALIEN "alientalk" #define MODE_HOLOPAD "holopad" + #define MODE_CHANGELING "changeling" +#define MODE_KEY_CHANGELING "g" +#define MODE_TOKEN_CHANGELING ":g" + #define MODE_VOCALCORDS "cords" +#define MODE_KEY_VOCALCORDS "x" + #define MODE_MONKEY "monkeyhive" //Spans. Robot speech, italics, etc. Applied in compose_message(). diff --git a/code/datums/saymode.dm b/code/datums/saymode.dm index c4f485653e..3b6fae5aee 100644 --- a/code/datums/saymode.dm +++ b/code/datums/saymode.dm @@ -11,7 +11,7 @@ /datum/saymode/changeling - key = "g" + key = MODE_KEY_CHANGELING mode = MODE_CHANGELING /datum/saymode/changeling/handle_message(mob/living/user, message, datum/language/language) @@ -73,7 +73,7 @@ /datum/saymode/vocalcords - key = "x" + key = MODE_KEY_VOCALCORDS mode = MODE_VOCALCORDS /datum/saymode/vocalcords/handle_message(mob/living/user, message, datum/language/language) @@ -87,7 +87,7 @@ /datum/saymode/binary //everything that uses .b (silicons, drones, blobbernauts/spores, swarmers) - key = "b" + key = MODE_KEY_BINARY mode = MODE_BINARY /datum/saymode/binary/handle_message(mob/living/user, message, datum/language/language) diff --git a/code/game/communications.dm b/code/game/communications.dm index 212a99f966..ed470473d9 100644 --- a/code/game/communications.dm +++ b/code/game/communications.dm @@ -91,35 +91,35 @@ GLOBAL_LIST_EMPTY(all_radios) // use in maps, such as in intercoms. GLOBAL_LIST_INIT(radiochannels, list( - "Common" = FREQ_COMMON, - "Science" = FREQ_SCIENCE, - "Command" = FREQ_COMMAND, - "Medical" = FREQ_MEDICAL, - "Engineering" = FREQ_ENGINEERING, - "Security" = FREQ_SECURITY, - "CentCom" = FREQ_CENTCOM, - "Syndicate" = FREQ_SYNDICATE, - "Supply" = FREQ_SUPPLY, - "Service" = FREQ_SERVICE, - "AI Private" = FREQ_AI_PRIVATE, - "Red Team" = FREQ_CTF_RED, - "Blue Team" = FREQ_CTF_BLUE + RADIO_CHANNEL_COMMON = FREQ_COMMON, + RADIO_CHANNEL_SCIENCE = FREQ_SCIENCE, + RADIO_CHANNEL_COMMAND = FREQ_COMMAND, + RADIO_CHANNEL_MEDICAL = FREQ_MEDICAL, + RADIO_CHANNEL_ENGINEERING = FREQ_ENGINEERING, + RADIO_CHANNEL_SECURITY = FREQ_SECURITY, + RADIO_CHANNEL_CENTCOM = FREQ_CENTCOM, + RADIO_CHANNEL_SYNDICATE = FREQ_SYNDICATE, + RADIO_CHANNEL_SUPPLY = FREQ_SUPPLY, + RADIO_CHANNEL_SERVICE = FREQ_SERVICE, + RADIO_CHANNEL_AI_PRIVATE = FREQ_AI_PRIVATE, + RADIO_CHANNEL_CTF_RED = FREQ_CTF_RED, + RADIO_CHANNEL_CTF_BLUE = FREQ_CTF_BLUE )) GLOBAL_LIST_INIT(reverseradiochannels, list( - "[FREQ_COMMON]" = "Common", - "[FREQ_SCIENCE]" = "Science", - "[FREQ_COMMAND]" = "Command", - "[FREQ_MEDICAL]" = "Medical", - "[FREQ_ENGINEERING]" = "Engineering", - "[FREQ_SECURITY]" = "Security", - "[FREQ_CENTCOM]" = "CentCom", - "[FREQ_SYNDICATE]" = "Syndicate", - "[FREQ_SUPPLY]" = "Supply", - "[FREQ_SERVICE]" = "Service", - "[FREQ_AI_PRIVATE]" = "AI Private", - "[FREQ_CTF_RED]" = "Red Team", - "[FREQ_CTF_BLUE]" = "Blue Team" + "[FREQ_COMMON]" = RADIO_CHANNEL_COMMON, + "[FREQ_SCIENCE]" = RADIO_CHANNEL_SCIENCE, + "[FREQ_COMMAND]" = RADIO_CHANNEL_COMMAND, + "[FREQ_MEDICAL]" = RADIO_CHANNEL_MEDICAL, + "[FREQ_ENGINEERING]" = RADIO_CHANNEL_ENGINEERING, + "[FREQ_SECURITY]" = RADIO_CHANNEL_SECURITY, + "[FREQ_CENTCOM]" = RADIO_CHANNEL_CENTCOM, + "[FREQ_SYNDICATE]" = RADIO_CHANNEL_SYNDICATE, + "[FREQ_SUPPLY]" = RADIO_CHANNEL_SUPPLY, + "[FREQ_SERVICE]" = RADIO_CHANNEL_SERVICE, + "[FREQ_AI_PRIVATE]" = RADIO_CHANNEL_AI_PRIVATE, + "[FREQ_CTF_RED]" = RADIO_CHANNEL_CTF_RED, + "[FREQ_CTF_BLUE]" = RADIO_CHANNEL_CTF_BLUE )) /datum/radio_frequency diff --git a/code/game/machinery/bank_machine.dm b/code/game/machinery/bank_machine.dm index 71dcb89ce7..0b9ed6bb3f 100644 --- a/code/game/machinery/bank_machine.dm +++ b/code/game/machinery/bank_machine.dm @@ -6,7 +6,7 @@ var/siphoning = FALSE var/next_warning = 0 var/obj/item/radio/radio - var/radio_channel = "Common" + var/radio_channel = RADIO_CHANNEL_COMMON var/minimum_time_between_warnings = 400 /obj/machinery/computer/bank_machine/Initialize() diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index f32772b600..4f04335852 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -31,7 +31,7 @@ var/internal_radio = TRUE var/obj/item/radio/radio var/radio_key = /obj/item/encryptionkey/headset_med - var/radio_channel = "Medical" + var/radio_channel = RADIO_CHANNEL_MEDICAL var/obj/effect/countdown/clonepod/countdown diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index dd7489d6b1..9adc0488aa 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -1,6 +1,6 @@ /obj/item/encryptionkey name = "standard encryption key" - desc = "An encryption key for a radio headset. Has no special codes in it. WHY DOES IT EXIST? ASK NANOTRASEN." + desc = "An encryption key for a radio headset." icon = 'icons/obj/radio.dmi' icon_state = "cypherkey" w_class = WEIGHT_CLASS_TINY @@ -9,124 +9,119 @@ var/independent = FALSE var/list/channels = list() +/obj/item/encryptionkey/Initialize() + . = ..() + if(!channels.len) + desc = "An encryption key for a radio headset. Has no special codes in it. You should probably tell a coder!" + +/obj/item/encryptionkey/examine(mob/user) + . = ..() + if(LAZYLEN(channels)) + var/list/examine_text_list = list() + for(var/i in channels) + examine_text_list += "[GLOB.channel_tokens[i]] - [lowertext(i)]" + + to_chat(user, "It can access the following channels; [jointext(examine_text_list, ", ")].") + /obj/item/encryptionkey/syndicate name = "syndicate encryption key" - desc = "An encryption key for a radio headset. To access the syndicate channel, use :t." icon_state = "syn_cypherkey" - channels = list("Syndicate" = 1) - syndie = 1//Signifies that it de-crypts Syndicate transmissions + channels = list(RADIO_CHANNEL_SYNDICATE = 1) + syndie = TRUE //Signifies that it de-crypts Syndicate transmissions /obj/item/encryptionkey/binary name = "binary translator key" - desc = "An encryption key for a radio headset. To access the binary channel, use :b." icon_state = "bin_cypherkey" translate_binary = TRUE /obj/item/encryptionkey/headset_sec name = "security radio encryption key" - desc = "An encryption key for a radio headset. To access the security channel, use :s." icon_state = "sec_cypherkey" - channels = list("Security" = 1) + channels = list(RADIO_CHANNEL_SECURITY = 1) /obj/item/encryptionkey/headset_eng name = "engineering radio encryption key" - desc = "An encryption key for a radio headset. To access the engineering channel, use :e." icon_state = "eng_cypherkey" - channels = list("Engineering" = 1) + channels = list(RADIO_CHANNEL_ENGINEERING = 1) /obj/item/encryptionkey/headset_rob name = "robotics radio encryption key" - desc = "An encryption key for a radio headset. To access the engineering channel, use :e. For research, use :n." icon_state = "rob_cypherkey" - channels = list("Science" = 1, "Engineering" = 1) + channels = list(RADIO_CHANNEL_SCIENCE = 1, RADIO_CHANNEL_ENGINEERING = 1) /obj/item/encryptionkey/headset_med name = "medical radio encryption key" - desc = "An encryption key for a radio headset. To access the medical channel, use :m." icon_state = "med_cypherkey" - channels = list("Medical" = 1) + channels = list(RADIO_CHANNEL_MEDICAL = 1) /obj/item/encryptionkey/headset_sci name = "science radio encryption key" - desc = "An encryption key for a radio headset. To access the science channel, use :n." icon_state = "sci_cypherkey" - channels = list("Science" = 1) + channels = list(RADIO_CHANNEL_SCIENCE = 1) /obj/item/encryptionkey/headset_medsci name = "medical research radio encryption key" - desc = "An encryption key for a radio headset. To access the medical channel, use :m. For science, use :n." icon_state = "medsci_cypherkey" - channels = list("Science" = 1, "Medical" = 1) + channels = list(RADIO_CHANNEL_SCIENCE = 1, RADIO_CHANNEL_MEDICAL = 1) /obj/item/encryptionkey/headset_com name = "command radio encryption key" - desc = "An encryption key for a radio headset. To access the command channel, use :c." icon_state = "com_cypherkey" - channels = list("Command" = 1) + channels = list(RADIO_CHANNEL_COMMAND = 1) /obj/item/encryptionkey/heads/captain name = "\proper the captain's encryption key" - desc = "An encryption key for a radio headset. Channels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :v - service, :m - medical, :n - science." icon_state = "cap_cypherkey" - channels = list("Command" = 1, "Security" = 1, "Engineering" = 0, "Science" = 0, "Medical" = 0, "Supply" = 0, "Service" = 0) + 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) /obj/item/encryptionkey/heads/rd name = "\proper the research director's encryption key" - desc = "An encryption key for a radio headset. To access the science channel, use :n. For command, use :c." icon_state = "rd_cypherkey" - channels = list("Science" = 1, "Command" = 1) + channels = list(RADIO_CHANNEL_SCIENCE = 1, RADIO_CHANNEL_COMMAND = 1) /obj/item/encryptionkey/heads/hos name = "\proper the head of security's encryption key" - desc = "An encryption key for a radio headset. To access the security channel, use :s. For command, use :c." icon_state = "hos_cypherkey" - channels = list("Security" = 1, "Command" = 1) + channels = list(RADIO_CHANNEL_SECURITY = 1, RADIO_CHANNEL_COMMAND = 1) /obj/item/encryptionkey/heads/ce name = "\proper the chief engineer's encryption key" - desc = "An encryption key for a radio headset. To access the engineering channel, use :e. For command, use :c." icon_state = "ce_cypherkey" - channels = list("Engineering" = 1, "Command" = 1) + channels = list(RADIO_CHANNEL_ENGINEERING = 1, RADIO_CHANNEL_COMMAND = 1) /obj/item/encryptionkey/heads/cmo name = "\proper the chief medical officer's encryption key" - desc = "An encryption key for a radio headset. To access the medical channel, use :m. For command, use :c." icon_state = "cmo_cypherkey" - channels = list("Medical" = 1, "Command" = 1) + channels = list(RADIO_CHANNEL_MEDICAL = 1, RADIO_CHANNEL_COMMAND = 1) /obj/item/encryptionkey/heads/hop name = "\proper the head of personnel's encryption key" - desc = "An encryption key for a radio headset. Channels are as follows: :u - supply, :v - service, :c - command." icon_state = "hop_cypherkey" - channels = list("Supply" = 1, "Service" = 1, "Command" = 1) + channels = list(RADIO_CHANNEL_SUPPLY = 1, RADIO_CHANNEL_SERVICE = 1, RADIO_CHANNEL_COMMAND = 1) /obj/item/encryptionkey/headset_cargo name = "supply radio encryption key" - desc = "An encryption key for a radio headset. To access the supply channel, use :u." icon_state = "cargo_cypherkey" - channels = list("Supply" = 1) + channels = list(RADIO_CHANNEL_SUPPLY = 1) /obj/item/encryptionkey/headset_mining name = "mining radio encryption key" - desc = "An encryption key for a radio headset. To access the supply channel, use :u. For science, use :n." icon_state = "cargo_cypherkey" - channels = list("Supply" = 1, "Science" = 1) + channels = list(RADIO_CHANNEL_SUPPLY = 1, RADIO_CHANNEL_SCIENCE = 1) /obj/item/encryptionkey/headset_service name = "service radio encryption key" - desc = "An encryption key for a radio headset. To access the service channel, use :v." icon_state = "srv_cypherkey" - channels = list("Service" = 1) + channels = list(RADIO_CHANNEL_SERVICE = 1) /obj/item/encryptionkey/headset_cent name = "\improper CentCom radio encryption key" - desc = "An encryption key for a radio headset. To access the CentCom channel, use :y." icon_state = "cent_cypherkey" independent = TRUE - channels = list("CentCom" = 1) + channels = list(RADIO_CHANNEL_CENTCOM = 1) /obj/item/encryptionkey/ai //ported from NT, this goes 'inside' the AI. - channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1) + 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) /obj/item/encryptionkey/secbot - channels = list("AI Private"=1,"Security"=1) + channels = list(RADIO_CHANNEL_AI_PRIVATE = 1, RADIO_CHANNEL_SECURITY = 1) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index ea9c6fb99e..cca5eb4217 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -1,3 +1,19 @@ +// Used for translating channels to tokens on examination +GLOBAL_LIST_INIT(channel_tokens, list( + RADIO_CHANNEL_COMMON = RADIO_KEY_COMMON, + RADIO_CHANNEL_SCIENCE = RADIO_TOKEN_SCIENCE, + RADIO_CHANNEL_COMMAND = RADIO_TOKEN_COMMAND, + RADIO_CHANNEL_MEDICAL = RADIO_TOKEN_MEDICAL, + RADIO_CHANNEL_ENGINEERING = RADIO_TOKEN_ENGINEERING, + RADIO_CHANNEL_SECURITY = RADIO_TOKEN_SECURITY, + RADIO_CHANNEL_CENTCOM = RADIO_TOKEN_CENTCOM, + RADIO_CHANNEL_SYNDICATE = RADIO_TOKEN_SYNDICATE, + RADIO_CHANNEL_SUPPLY = RADIO_TOKEN_SUPPLY, + RADIO_CHANNEL_SERVICE = RADIO_TOKEN_SERVICE, + MODE_BINARY = MODE_TOKEN_BINARY, + RADIO_CHANNEL_AI_PRIVATE = RADIO_TOKEN_AI_PRIVATE +)) + /obj/item/radio/headset name = "radio headset" desc = "An updated, modular intercom that fits over the head. Takes encryption keys." @@ -17,9 +33,24 @@ /obj/item/radio/headset/examine(mob/user) ..() - to_chat(user, "To speak on the general radio frequency, use ; before speaking.") - if (command) - to_chat(user, "Alt-click to toggle the high-volume mode.") + + if(item_flags & IN_INVENTORY && loc == user) + // construction of frequency description + var/list/avail_chans = list("Use [RADIO_KEY_COMMON] for the currently tuned frequency") + if(translate_binary) + avail_chans += "use [MODE_TOKEN_BINARY] for [MODE_BINARY]" + if(length(channels)) + for(var/i in 1 to length(channels)) + if(i == 1) + avail_chans += "use [MODE_TOKEN_DEPARTMENT] or [GLOB.channel_tokens[channels[i]]] for [lowertext(channels[i])]" + else + avail_chans += "use [GLOB.channel_tokens[channels[i]]] for [lowertext(channels[i])]" + to_chat(user, "A small screen on the headset displays the following available frequencies:\n[english_list(avail_chans)].") + + if(command) + to_chat(user, "Alt-click to toggle the high-volume mode.") + else + to_chat(user, "A small screen on the headset flashes, it's too small to read without holding or wearing the headset.") /obj/item/radio/headset/Initialize() . = ..() @@ -47,7 +78,7 @@ /obj/item/radio/headset/syndicate/alt //undisguised bowman with flash protection name = "syndicate headset" - desc = "A syndicate headset that can be used to hear all radio frequencies. Protects ears from flashbangs. \nTo access the syndicate channel, use ; before speaking." + desc = "A syndicate headset that can be used to hear all radio frequencies. Protects ears from flashbangs." icon_state = "syndie_headset" item_state = "syndie_headset" @@ -72,13 +103,13 @@ /obj/item/radio/headset/headset_sec name = "security radio headset" - desc = "This is used by your elite security force.\nTo access the security channel, use :s." + desc = "This is used by your elite security force." icon_state = "sec_headset" keyslot = new /obj/item/encryptionkey/headset_sec /obj/item/radio/headset/headset_sec/alt name = "security bowman headset" - desc = "This is used by your elite security force. Protects ears from flashbangs.\nTo access the security channel, use :s." + desc = "This is used by your elite security force. Protects ears from flashbangs." icon_state = "sec_headset_alt" item_state = "sec_headset_alt" @@ -88,31 +119,31 @@ /obj/item/radio/headset/headset_eng name = "engineering radio headset" - desc = "When the engineers wish to chat like girls.\nTo access the engineering channel, use :e." + desc = "When the engineers wish to chat like girls." icon_state = "eng_headset" keyslot = new /obj/item/encryptionkey/headset_eng /obj/item/radio/headset/headset_rob name = "robotics radio headset" - desc = "Made specifically for the roboticists, who cannot decide between departments.\nTo access the engineering channel, use :e. For research, use :n." + desc = "Made specifically for the roboticists, who cannot decide between departments." icon_state = "rob_headset" keyslot = new /obj/item/encryptionkey/headset_rob /obj/item/radio/headset/headset_med name = "medical radio headset" - desc = "A headset for the trained staff of the medbay.\nTo access the medical channel, use :m." + desc = "A headset for the trained staff of the medbay." icon_state = "med_headset" keyslot = new /obj/item/encryptionkey/headset_med /obj/item/radio/headset/headset_sci name = "science radio headset" - desc = "A sciency headset. Like usual.\nTo access the science channel, use :n." + desc = "A sciency headset. Like usual." icon_state = "sci_headset" keyslot = new /obj/item/encryptionkey/headset_sci /obj/item/radio/headset/headset_medsci name = "medical research radio headset" - desc = "A headset that is a result of the mating between medical and science.\nTo access the medical channel, use :m. For science, use :n." + desc = "A headset that is a result of the mating between medical and science." icon_state = "medsci_headset" keyslot = new /obj/item/encryptionkey/headset_medsci @@ -127,13 +158,13 @@ /obj/item/radio/headset/heads/captain name = "\proper the captain's headset" - desc = "The headset of the king.\nChannels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :v - service, :m - medical, :n - science." + desc = "The headset of the king." icon_state = "com_headset" keyslot = new /obj/item/encryptionkey/heads/captain /obj/item/radio/headset/heads/captain/alt name = "\proper the captain's bowman headset" - desc = "The headset of the boss. Protects ears from flashbangs.\nChannels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :v - service, :m - medical, :n - science." + desc = "The headset of the boss. Protects ears from flashbangs." icon_state = "com_headset_alt" item_state = "com_headset_alt" @@ -143,19 +174,19 @@ /obj/item/radio/headset/heads/rd name = "\proper the research director's headset" - desc = "Headset of the fellow who keeps society marching towards technological singularity.\nTo access the science channel, use :n. For command, use :c." + desc = "Headset of the fellow who keeps society marching towards technological singularity." icon_state = "com_headset" keyslot = new /obj/item/encryptionkey/heads/rd /obj/item/radio/headset/heads/hos name = "\proper the head of security's headset" - desc = "The headset of the man in charge of keeping order and protecting the station.\nTo access the security channel, use :s. For command, use :c." + desc = "The headset of the man in charge of keeping order and protecting the station." icon_state = "com_headset" keyslot = new /obj/item/encryptionkey/heads/hos /obj/item/radio/headset/heads/hos/alt name = "\proper the head of security's bowman headset" - desc = "The headset of the man in charge of keeping order and protecting the station. Protects ears from flashbangs.\nTo access the security channel, use :s. For command, use :c." + desc = "The headset of the man in charge of keeping order and protecting the station. Protects ears from flashbangs." icon_state = "com_headset_alt" item_state = "com_headset_alt" @@ -165,43 +196,43 @@ /obj/item/radio/headset/heads/ce name = "\proper the chief engineer's headset" - desc = "The headset of the guy in charge of keeping the station powered and undamaged.\nTo access the engineering channel, use :e. For command, use :c." + desc = "The headset of the guy in charge of keeping the station powered and undamaged." icon_state = "com_headset" keyslot = new /obj/item/encryptionkey/heads/ce /obj/item/radio/headset/heads/cmo name = "\proper the chief medical officer's headset" - desc = "The headset of the highly trained medical chief.\nTo access the medical channel, use :m. For command, use :c." + desc = "The headset of the highly trained medical chief." icon_state = "com_headset" keyslot = new /obj/item/encryptionkey/heads/cmo /obj/item/radio/headset/heads/hop name = "\proper the head of personnel's headset" - desc = "The headset of the guy who will one day be captain.\nChannels are as follows: :u - supply, :v - service, :c - command." + desc = "The headset of the guy who will one day be captain." icon_state = "com_headset" keyslot = new /obj/item/encryptionkey/heads/hop /obj/item/radio/headset/headset_cargo name = "supply radio headset" - desc = "A headset used by the QM and his slaves.\nTo access the supply channel, use :u." + desc = "A headset used by the QM and his slaves." icon_state = "cargo_headset" keyslot = new /obj/item/encryptionkey/headset_cargo /obj/item/radio/headset/headset_cargo/mining name = "mining radio headset" - desc = "Headset used by shaft miners.\nTo access the supply channel, use :u. For science, use :n." + desc = "Headset used by shaft miners." icon_state = "mine_headset" keyslot = new /obj/item/encryptionkey/headset_mining /obj/item/radio/headset/headset_srv name = "service radio headset" - desc = "Headset used by the service staff, tasked with keeping the station full, happy and clean.\nTo access the service channel, use :v." + desc = "Headset used by the service staff, tasked with keeping the station full, happy and clean." icon_state = "srv_headset" keyslot = new /obj/item/encryptionkey/headset_service /obj/item/radio/headset/headset_cent name = "\improper CentCom headset" - desc = "A headset used by the upper echelons of Nanotrasen.\nTo access the CentCom channel, use :y." + desc = "A headset used by the upper echelons of Nanotrasen." icon_state = "cent_headset" keyslot = new /obj/item/encryptionkey/headset_com keyslot2 = new /obj/item/encryptionkey/headset_cent @@ -215,7 +246,7 @@ /obj/item/radio/headset/headset_cent/alt name = "\improper CentCom bowman headset" - desc = "A headset especially for emergency response personnel. Protects ears from flashbangs.\nTo access the CentCom channel, use :y." + desc = "A headset especially for emergency response personnel. Protects ears from flashbangs." icon_state = "cent_headset_alt" item_state = "cent_headset_alt" keyslot = null diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 1d51aabf86..7c136f556e 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -221,7 +221,7 @@ // From the channel, determine the frequency and get a reference to it. var/freq if(channel && channels && channels.len > 0) - if(channel == "department") + if(channel == MODE_DEPARTMENT) channel = channels[1] freq = secure_radio_connections[channel] if (!channels[channel]) // if the channel is turned off, don't broadcast diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 6fa118ab7f..d881044757 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1882,14 +1882,14 @@ return var/mob/M = locate(href_list["CentComReply"]) - usr.client.admin_headset_message(M, "CentCom") + usr.client.admin_headset_message(M, RADIO_CHANNEL_CENTCOM) else if(href_list["SyndicateReply"]) if(!check_rights(R_ADMIN)) return var/mob/M = locate(href_list["SyndicateReply"]) - usr.client.admin_headset_message(M, "Syndicate") + usr.client.admin_headset_message(M, RADIO_CHANNEL_SYNDICATE) else if(href_list["HeadsetMessage"]) if(!check_rights(R_ADMIN)) diff --git a/code/modules/admin/verbs/borgpanel.dm b/code/modules/admin/verbs/borgpanel.dm index 6295d4be43..c0445d588d 100644 --- a/code/modules/admin/verbs/borgpanel.dm +++ b/code/modules/admin/verbs/borgpanel.dm @@ -62,7 +62,7 @@ .["laws"] = borg.laws ? borg.laws.get_law_list(include_zeroth = TRUE) : list() .["channels"] = list() for (var/k in GLOB.radiochannels) - if (k == "Common") + if (k == RADIO_CHANNEL_COMMON) continue .["channels"] += list(list("name" = k, "installed" = (k in borg.radio.channels))) .["cell"] = borg.cell ? list("missing" = FALSE, "maxcharge" = borg.cell.maxcharge, "charge" = borg.cell.charge) : list("missing" = TRUE, "maxcharge" = 1, "charge" = 0) @@ -164,15 +164,15 @@ if (channel in borg.radio.channels) // We're removing a channel if (!borg.radio.keyslot) // There's no encryption key. This shouldn't happen but we can cope borg.radio.channels -= channel - if (channel == "Syndicate") + if (channel == RADIO_CHANNEL_SYNDICATE) borg.radio.syndie = FALSE - else if (channel == "CentCom") + else if (channel == RADIO_CHANNEL_CENTCOM) borg.radio.independent = FALSE else borg.radio.keyslot.channels -= channel - if (channel == "Syndicate") + if (channel == RADIO_CHANNEL_SYNDICATE) borg.radio.keyslot.syndie = FALSE - else if (channel == "CentCom") + else if (channel == RADIO_CHANNEL_CENTCOM) borg.radio.keyslot.independent = FALSE message_admins("[key_name_admin(user)] removed the [channel] radio channel from [ADMIN_LOOKUPFLW(borg)].") log_admin("[key_name(user)] removed the [channel] radio channel from [key_name(borg)].") @@ -180,9 +180,9 @@ if (!borg.radio.keyslot) // Assert that an encryption key exists borg.radio.keyslot = new (borg.radio) borg.radio.keyslot.channels[channel] = 1 - if (channel == "Syndicate") + if (channel == RADIO_CHANNEL_SYNDICATE) borg.radio.keyslot.syndie = TRUE - else if (channel == "CentCom") + else if (channel == RADIO_CHANNEL_CENTCOM) borg.radio.keyslot.independent = TRUE message_admins("[key_name_admin(user)] added the [channel] radio channel to [ADMIN_LOOKUPFLW(borg)].") log_admin("[key_name(user)] added the [channel] radio channel to [key_name(borg)].") diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 52e76f95b6..a725399b0f 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -65,7 +65,7 @@ return if (!sender) - sender = input("Who is the message from?", "Sender") as null|anything in list("CentCom","Syndicate") + sender = input("Who is the message from?", "Sender") as null|anything in list(RADIO_CHANNEL_CENTCOM,RADIO_CHANNEL_SYNDICATE) if(!sender) return diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index a1b9b53fe9..252e2b5cbe 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -353,7 +353,7 @@ /datum/antagonist/changeling/greet() if (you_are_greet) to_chat(owner.current, "You are [changelingID], a changeling! You have absorbed and taken the form of a human.") - to_chat(owner.current, "Use say \":g message\" to communicate with your fellow changelings.") + to_chat(owner.current, "Use say \"[MODE_TOKEN_CHANGELING] message\" to communicate with your fellow changelings.") to_chat(owner.current, "You must complete the following tasks:") owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ling_aler.ogg', 100, FALSE, pressure_affected = FALSE) diff --git a/code/modules/antagonists/changeling/powers/hivemind.dm b/code/modules/antagonists/changeling/powers/hivemind.dm index 1d7382d947..f7718d7708 100644 --- a/code/modules/antagonists/changeling/powers/hivemind.dm +++ b/code/modules/antagonists/changeling/powers/hivemind.dm @@ -1,8 +1,8 @@ -//HIVEMIND COMMUNICATION (:g) +//HIVEMIND COMMUNICATION //MODE_TOKEN_CHANGELING / :g /obj/effect/proc_holder/changeling/hivemind_comms name = "Hivemind Communication" desc = "We tune our senses to the airwaves to allow us to discreetly communicate and exchange DNA with other changelings." - helptext = "We will be able to talk with other changelings with :g. Exchanged DNA do not count towards absorb objectives." + helptext = "We will be able to talk with other changelings with :g. Exchanged DNA do not count towards absorb objectives." //MODE_TOKEN_CHANGELING needs to be manually updated here. dna_cost = 1 chemical_cost = -1 action_icon = 'icons/mob/actions/actions_xeno.dmi' @@ -20,7 +20,7 @@ ..() var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) changeling.changeling_speak = 1 - to_chat(user, "Use say \":g message\" to communicate with the other changelings.") + to_chat(user, "Use say \"[MODE_TOKEN_CHANGELING] message\" to communicate with the other changelings.") var/obj/effect/proc_holder/changeling/hivemind_upload/S1 = new if(!changeling.has_sting(S1)) changeling.purchasedpowers+=S1 diff --git a/code/modules/antagonists/changeling/powers/linglink.dm b/code/modules/antagonists/changeling/powers/linglink.dm index 70df78e3b4..971c811074 100644 --- a/code/modules/antagonists/changeling/powers/linglink.dm +++ b/code/modules/antagonists/changeling/powers/linglink.dm @@ -56,8 +56,8 @@ if(M.lingcheck() == LINGHIVE_LING) to_chat(M, "We can sense a foreign presence in the hivemind...") target.mind.linglink = 1 - target.say(":g AAAAARRRRGGGGGHHHHH!!") - to_chat(target, "You can now communicate in the changeling hivemind, say \":g message\" to communicate!") + target.say("[MODE_TOKEN_CHANGELING] AAAAARRRRGGGGGHHHHH!!") + to_chat(target, "You can now communicate in the changeling hivemind, say \"[MODE_TOKEN_CHANGELING] message\" to communicate!") target.reagents.add_reagent("salbutamol", 40) // So they don't choke to death while you interrogate them sleep(1800) SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]", "[i]")) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 552b9dbd64..35b30107d8 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -27,7 +27,7 @@ var/obj/item/radio/radio var/radio_key = /obj/item/encryptionkey/headset_med - var/radio_channel = "Medical" + var/radio_channel = RADIO_CHANNEL_MEDICAL var/running_anim = FALSE diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index cd9c914e7a..80c78220e6 100755 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -67,7 +67,7 @@ Head of Personnel flag = HOP department_head = list("Captain") department_flag = CIVILIAN - head_announce = list("Supply", "Service") + head_announce = list(RADIO_CHANNEL_SERVICE) faction = "Station" total_positions = 1 spawn_positions = 1 diff --git a/code/modules/jobs/job_types/cargo_service.dm b/code/modules/jobs/job_types/cargo_service.dm index 22d10b88b0..175b7e8263 100644 --- a/code/modules/jobs/job_types/cargo_service.dm +++ b/code/modules/jobs/job_types/cargo_service.dm @@ -6,6 +6,7 @@ Quartermaster flag = QUARTERMASTER department_head = list("Head of Personnel") department_flag = CIVILIAN + head_announce = list(RADIO_CHANNEL_SUPPLY) faction = "Station" total_positions = 1 spawn_positions = 1 diff --git a/code/modules/jobs/job_types/engineering.dm b/code/modules/jobs/job_types/engineering.dm index f28e5f1afc..b2bc8bf241 100644 --- a/code/modules/jobs/job_types/engineering.dm +++ b/code/modules/jobs/job_types/engineering.dm @@ -6,7 +6,7 @@ Chief Engineer flag = CHIEF department_head = list("Captain") department_flag = ENGSEC - head_announce = list("Engineering") + head_announce = list(RADIO_CHANNEL_ENGINEERING) faction = "Station" total_positions = 1 spawn_positions = 1 diff --git a/code/modules/jobs/job_types/medical.dm b/code/modules/jobs/job_types/medical.dm index 5a926f490a..1a6d2aa2f6 100644 --- a/code/modules/jobs/job_types/medical.dm +++ b/code/modules/jobs/job_types/medical.dm @@ -6,7 +6,7 @@ Chief Medical Officer flag = CMO_JF department_head = list("Captain") department_flag = MEDSCI - head_announce = list("Medical") + head_announce = list(RADIO_CHANNEL_MEDICAL) faction = "Station" total_positions = 1 spawn_positions = 1 diff --git a/code/modules/jobs/job_types/science.dm b/code/modules/jobs/job_types/science.dm index 6a14f204a3..21b1a9747a 100644 --- a/code/modules/jobs/job_types/science.dm +++ b/code/modules/jobs/job_types/science.dm @@ -6,7 +6,7 @@ Research Director flag = RD_JF department_head = list("Captain") department_flag = MEDSCI - head_announce = list("Science") + head_announce = list(RADIO_CHANNEL_SCIENCE) faction = "Station" total_positions = 1 spawn_positions = 1 diff --git a/code/modules/jobs/job_types/security.dm b/code/modules/jobs/job_types/security.dm index 8d2b9e8681..2a6cc199ee 100644 --- a/code/modules/jobs/job_types/security.dm +++ b/code/modules/jobs/job_types/security.dm @@ -12,7 +12,7 @@ Head of Security flag = HOS department_head = list("Captain") department_flag = ENGSEC - head_announce = list("Security") + head_announce = list(RADIO_CHANNEL_SECURITY) faction = "Station" total_positions = 1 spawn_positions = 1 diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm index d521ef179f..7eeab05466 100644 --- a/code/modules/mob/dead/observer/say.dm +++ b/code/modules/mob/dead/observer/say.dm @@ -4,14 +4,14 @@ return var/message_mode = get_message_mode(message) - if(client && (message_mode == "admin" || message_mode == "deadmin")) + if(client && (message_mode == MODE_ADMIN || message_mode == MODE_DEADMIN)) message = copytext(message, 3) if(findtext(message, " ", 1, 2)) message = copytext(message, 2) - if(message_mode == "admin") + if(message_mode == MODE_ADMIN) client.cmd_admin_say(message) - else if(message_mode == "deadmin") + else if(message_mode == MODE_DEADMIN) client.dsay(message) return diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 56be62c75e..eee425063d 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -53,14 +53,14 @@ if(ears) var/obj/item/radio/headset/dongle = ears if(!istype(dongle)) - return 0 + return FALSE if(dongle.translate_binary) - return 1 + return TRUE /mob/living/carbon/human/radio(message, message_mode, list/spans, language) . = ..() - if(. != 0) - return . + if(.) + return switch(message_mode) if(MODE_HEADSET) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 155ff15d5b..bfd27c11cc 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -2,61 +2,61 @@ GLOBAL_LIST_INIT(department_radio_prefixes, list(":", ".")) GLOBAL_LIST_INIT(department_radio_keys, list( // Location - "r" = "right hand", - "l" = "left hand", - "i" = "intercom", + MODE_KEY_R_HAND = MODE_R_HAND, + MODE_KEY_L_HAND = MODE_L_HAND, + MODE_KEY_INTERCOM = MODE_INTERCOM, // Department - "h" = "department", - "c" = "Command", - "n" = "Science", - "m" = "Medical", - "e" = "Engineering", - "s" = "Security", - "u" = "Supply", - "v" = "Service", + MODE_KEY_DEPARTMENT = MODE_DEPARTMENT, + RADIO_KEY_COMMAND = RADIO_CHANNEL_COMMAND, + RADIO_KEY_SCIENCE = RADIO_CHANNEL_SCIENCE, + RADIO_KEY_MEDICAL = RADIO_CHANNEL_MEDICAL, + RADIO_KEY_ENGINEERING = RADIO_CHANNEL_ENGINEERING, + RADIO_KEY_SECURITY = RADIO_CHANNEL_SECURITY, + RADIO_KEY_SUPPLY = RADIO_CHANNEL_SUPPLY, + RADIO_KEY_SERVICE = RADIO_CHANNEL_SERVICE, // Faction - "t" = "Syndicate", - "y" = "CentCom", + RADIO_KEY_SYNDICATE = RADIO_CHANNEL_SYNDICATE, + RADIO_KEY_CENTCOM = RADIO_CHANNEL_CENTCOM, // Admin - "p" = "admin", - "d" = "deadmin", + MODE_KEY_ADMIN = MODE_ADMIN, + MODE_KEY_DEADMIN = MODE_DEADMIN, // Misc - "o" = "AI Private", // AI Upload channel - "x" = "cords", // vocal cords, used by Voice of God + RADIO_KEY_AI_PRIVATE = RADIO_CHANNEL_AI_PRIVATE, // AI Upload channel + MODE_KEY_VOCALCORDS = MODE_VOCALCORDS, // vocal cords, used by Voice of God //kinda localization -- rastaf0 //same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding. // Location - "ê" = "right hand", - "ä" = "left hand", - "ø" = "intercom", + "ê" = MODE_R_HAND, + "ä" = MODE_L_HAND, + "ø" = MODE_INTERCOM, // Department - "ð" = "department", - "ñ" = "Command", - "ò" = "Science", - "ü" = "Medical", - "ó" = "Engineering", - "û" = "Security", - "ã" = "Supply", - "ì" = "Service", + "ð" = MODE_DEPARTMENT, + "ñ" = RADIO_CHANNEL_COMMAND, + "ò" = RADIO_CHANNEL_SCIENCE, + "ü" = RADIO_CHANNEL_MEDICAL, + "ó" = RADIO_CHANNEL_ENGINEERING, + "û" = RADIO_CHANNEL_SECURITY, + "ã" = RADIO_CHANNEL_SUPPLY, + "ì" = RADIO_CHANNEL_SERVICE, // Faction - "å" = "Syndicate", - "í" = "CentCom", + "å" = RADIO_CHANNEL_SYNDICATE, + "í" = RADIO_CHANNEL_CENTCOM, // Admin - "ç" = "admin", - "â" = "deadmin", + "ç" = MODE_ADMIN, + "â" = MODE_ADMIN, // Misc - "ù" = "AI Private", - "÷" = "cords" + "ù" = RADIO_CHANNEL_AI_PRIVATE, + "÷" = MODE_VOCALCORDS )) /mob/living/proc/Ellipsis(original_msg, chance = 50, keep_words) @@ -105,12 +105,12 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(findtext(message, " ", 1, 2)) message = copytext(message, 2) - if(message_mode == "admin") + if(message_mode == MODE_ADMIN) if(client) client.cmd_admin_say(message) return - if(message_mode == "deadmin") + if(message_mode == MODE_DEADMIN) if(client) client.dsay(message) return diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index ce99e301c5..91515e4511 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -61,7 +61,7 @@ var/mob/living/silicon/ai/calling_ai //Links a bot to the AI calling it. var/obj/item/radio/Radio //The bot's radio, for speaking to people. var/radio_key = null //which channels can the bot listen to - var/radio_channel = "Common" //The bot's default radio channel + var/radio_channel = RADIO_CHANNEL_COMMON //The bot's default radio channel var/auto_patrol = 0// set to make bot automatically patrol var/turf/patrol_target // this is turf to navigate to (location of beacon) var/turf/summon_target // The turf of a user summoning a bot. diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index bc8dd0c3ab..e09eb13886 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -9,7 +9,7 @@ health = 25 maxHealth = 25 radio_key = /obj/item/encryptionkey/headset_service - radio_channel = "Service" //Service + radio_channel = RADIO_CHANNEL_SERVICE //Service bot_type = CLEAN_BOT model = "Cleanbot" bot_core_type = /obj/machinery/bot_core/cleanbot @@ -155,7 +155,7 @@ else shuffle = TRUE //Shuffle the list the next time we scan so we dont both go the same way. path = list() - + if(!path || path.len == 0) //No path, need a new one //Try to produce a path to the target, and ignore airlocks to which it has access. path = get_path_to(src, target.loc, /turf/proc/Distance_cardinal, 0, 30, id=access_card) diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 581711d271..0781c2907a 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -13,7 +13,7 @@ mob_size = MOB_SIZE_LARGE radio_key = /obj/item/encryptionkey/headset_sec - radio_channel = "Security" + radio_channel = RADIO_CHANNEL_SECURITY bot_type = SEC_BOT model = "ED-209" bot_core = /obj/machinery/bot_core/secbot diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm index d8c3bca72a..1c2a6393ae 100644 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ b/code/modules/mob/living/simple_animal/bot/firebot.dm @@ -16,7 +16,7 @@ spacewalk = TRUE radio_key = /obj/item/encryptionkey/headset_eng - radio_channel = "Engineering" + radio_channel = RADIO_CHANNEL_ENGINEERING bot_type = FIRE_BOT model = "Firebot" bot_core = /obj/machinery/bot_core/firebot diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 7e5cfe2110..4709680ad9 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -11,7 +11,7 @@ spacewalk = TRUE radio_key = /obj/item/encryptionkey/headset_eng - radio_channel = "Engineering" + radio_channel = RADIO_CHANNEL_ENGINEERING bot_type = FLOOR_BOT model = "Floorbot" bot_core = /obj/machinery/bot_core/floorbot diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index d586cc694b..e069b46e9d 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -11,7 +11,6 @@ pass_flags = PASSMOB radio_key = /obj/item/encryptionkey/headset_service //doesn't have security key - radio_channel = "Service" //Doesn't even use the radio anyway. bot_type = HONK_BOT model = "Honkbot" bot_core_type = /obj/machinery/bot_core/honkbot diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 5a21d33d5a..5eaaaea175 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -17,7 +17,7 @@ status_flags = (CANPUSH | CANSTUN) radio_key = /obj/item/encryptionkey/headset_med - radio_channel = "Medical" + radio_channel = RADIO_CHANNEL_MEDICAL bot_type = MED_BOT model = "Medibot" diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index c45d435253..2efdf09f24 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -23,7 +23,7 @@ mob_size = MOB_SIZE_LARGE radio_key = /obj/item/encryptionkey/headset_cargo - radio_channel = "Supply" + radio_channel = RADIO_CHANNEL_SUPPLY bot_type = MULE_BOT model = "MULE" diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index fca1f66546..b6ef509d54 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -11,7 +11,7 @@ pass_flags = PASSMOB radio_key = /obj/item/encryptionkey/secbot //AI Priv + Security - radio_channel = "Security" //Security channel + radio_channel = RADIO_CHANNEL_SECURITY //Security channel bot_type = SEC_BOT model = "Securitron" bot_core_type = /obj/machinery/bot_core/secbot @@ -61,7 +61,7 @@ /mob/living/simple_animal/bot/secbot/pingsky name = "Officer Pingsky" desc = "It's Officer Pingsky! Delegated to satellite guard duty for harbouring anti-human sentiment." - radio_channel = "AI Private" + radio_channel = RADIO_CHANNEL_AI_PRIVATE /mob/living/simple_animal/bot/secbot/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index fc53483eda..a50af21d47 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -241,23 +241,23 @@ clearlist(available_channels) for(var/ch in headset_to_add.channels) switch(ch) - if("Engineering") - available_channels.Add(":e") - if("Command") - available_channels.Add(":c") - if("Security") - available_channels.Add(":s") - if("Science") - available_channels.Add(":n") - if("Medical") - available_channels.Add(":m") - if("Supply") - available_channels.Add(":u") - if("Service") - available_channels.Add(":v") + if(RADIO_CHANNEL_ENGINEERING) + available_channels.Add(RADIO_TOKEN_ENGINEERING) + if(RADIO_CHANNEL_COMMAND) + available_channels.Add(RADIO_TOKEN_COMMAND) + if(RADIO_CHANNEL_SECURITY) + available_channels.Add(RADIO_TOKEN_SECURITY) + if(RADIO_CHANNEL_SCIENCE) + available_channels.Add(RADIO_TOKEN_SCIENCE) + if(RADIO_CHANNEL_MEDICAL) + available_channels.Add(RADIO_TOKEN_MEDICAL) + if(RADIO_CHANNEL_SUPPLY) + available_channels.Add(RADIO_TOKEN_SUPPLY) + if(RADIO_CHANNEL_SERVICE) + available_channels.Add(RADIO_TOKEN_SERVICE) if(headset_to_add.translate_binary) - available_channels.Add(":b") + available_channels.Add(MODE_TOKEN_BINARY) else return ..() diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 55ead3b5b4..ad13de0a01 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -3,7 +3,7 @@ #define COOLDOWN_MEME 300 #define COOLDOWN_NONE 100 -/obj/item/organ/vocal_cords //organs that are activated through speech with the :x channel +/obj/item/organ/vocal_cords //organs that are activated through speech with the :x/MODE_KEY_VOCALCORDS channel name = "vocal cords" icon_state = "appendix" zone = BODY_ZONE_PRECISE_MOUTH diff --git a/modular_citadel/code/modules/jobs/job_types/captain.dm b/modular_citadel/code/modules/jobs/job_types/captain.dm index 674cd9d09e..7135e86507 100644 --- a/modular_citadel/code/modules/jobs/job_types/captain.dm +++ b/modular_citadel/code/modules/jobs/job_types/captain.dm @@ -4,7 +4,6 @@ /datum/job/hop minimal_player_age = 20 - head_announce = list("Service") exp_type_department = EXP_TYPE_SERVICE access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_COURT, ACCESS_WEAPONS,