mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 10:01:40 +00:00
resettispaghetti
This commit is contained in:
@@ -1,13 +1,11 @@
|
||||
// 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_TOKEN_COMMON ";"
|
||||
|
||||
#define RADIO_CHANNEL_DEPARTMENT "department"
|
||||
#define RADIO_KEY_DEPARTMENT "h"
|
||||
#define RADIO_TOKEN_DEPARTMENT ":h"
|
||||
|
||||
#define RADIO_CHANNEL_SECURITY "Security"
|
||||
#define RADIO_KEY_SECURITY "s"
|
||||
#define RADIO_TOKEN_SECURITY ":s"
|
||||
@@ -36,10 +34,6 @@
|
||||
#define RADIO_KEY_SERVICE "v"
|
||||
#define RADIO_TOKEN_SERVICE ":v"
|
||||
|
||||
#define RADIO_CHANNEL_BINARY "Binary"
|
||||
#define RADIO_KEY_BINARY "b"
|
||||
#define RADIO_TOKEN_BINARY ":b"
|
||||
|
||||
#define RADIO_CHANNEL_AI_PRIVATE "AI Private"
|
||||
#define RADIO_KEY_AI_PRIVATE "o"
|
||||
#define RADIO_TOKEN_AI_PRIVATE ":o"
|
||||
|
||||
@@ -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().
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -314,13 +314,13 @@ GLOBAL_LIST_EMPTY(allConsoles)
|
||||
switch(text2num(href_list["emergency"]))
|
||||
if(1) //Security
|
||||
radio_freq = FREQ_SECURITY
|
||||
emergency = RADIO_CHANNEL_SECURITY
|
||||
emergency = "Security"
|
||||
if(2) //Engineering
|
||||
radio_freq = FREQ_ENGINEERING
|
||||
emergency = RADIO_CHANNEL_ENGINEERING
|
||||
emergency = "Engineering"
|
||||
if(3) //Medical
|
||||
radio_freq = FREQ_MEDICAL
|
||||
emergency = RADIO_CHANNEL_MEDICAL
|
||||
emergency = "Medical"
|
||||
if(radio_freq)
|
||||
Radio.set_frequency(radio_freq)
|
||||
Radio.talk_into(src,"[emergency] emergency in [department]!!",radio_freq,get_spans(),get_default_language())
|
||||
|
||||
@@ -10,7 +10,7 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
RADIO_CHANNEL_SYNDICATE = RADIO_TOKEN_SYNDICATE,
|
||||
RADIO_CHANNEL_SUPPLY = RADIO_TOKEN_SUPPLY,
|
||||
RADIO_CHANNEL_SERVICE = RADIO_TOKEN_SERVICE,
|
||||
RADIO_CHANNEL_BINARY = RADIO_TOKEN_BINARY,
|
||||
MODE_BINARY = MODE_TOKEN_BINARY,
|
||||
RADIO_CHANNEL_AI_PRIVATE = RADIO_TOKEN_AI_PRIVATE
|
||||
))
|
||||
|
||||
@@ -38,11 +38,11 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
// construction of frequency description
|
||||
var/list/avail_chans = list("Use [RADIO_KEY_COMMON] for the currently tuned frequency")
|
||||
if(translate_binary)
|
||||
avail_chans += "use [RADIO_TOKEN_BINARY] for [RADIO_CHANNEL_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 [RADIO_TOKEN_DEPARTMENT] or [GLOB.channel_tokens[channels[i]]] for [lowertext(channels[i])]"
|
||||
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, "<span class='notice'>A small screen on the headset displays the following available frequencies:\n[english_list(avail_chans)].")
|
||||
|
||||
@@ -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 == RADIO_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
|
||||
|
||||
@@ -340,7 +340,7 @@
|
||||
/datum/antagonist/changeling/greet()
|
||||
if (you_are_greet)
|
||||
to_chat(owner.current, "<span class='boldannounce'>You are [changelingID], a changeling! You have absorbed and taken the form of a human.</span>")
|
||||
to_chat(owner.current, "<span class='boldannounce'>Use say \":g message\" to communicate with your fellow changelings.</span>")
|
||||
to_chat(owner.current, "<span class='boldannounce'>Use say \"[MODE_TOKEN_CHANGELING] message\" to communicate with your fellow changelings.</span>")
|
||||
to_chat(owner.current, "<b>You must complete the following tasks:</b>")
|
||||
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ling_aler.ogg', 100, FALSE, pressure_affected = FALSE)
|
||||
|
||||
|
||||
@@ -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 = 0
|
||||
chemical_cost = -1
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
..()
|
||||
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
|
||||
changeling.changeling_speak = 1
|
||||
to_chat(user, "<i><font color=#800080>Use say \":g message\" to communicate with the other changelings.</font></i>")
|
||||
to_chat(user, "<i><font color=#800080>Use say \"[MODE_TOKEN_CHANGELING] message\" to communicate with the other changelings.</font></i>")
|
||||
var/obj/effect/proc_holder/changeling/hivemind_upload/S1 = new
|
||||
if(!changeling.has_sting(S1))
|
||||
changeling.purchasedpowers+=S1
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
if(M.lingcheck() == LINGHIVE_LING)
|
||||
to_chat(M, "<span class='changeling'>We can sense a foreign presence in the hivemind...</span>")
|
||||
target.mind.linglink = 1
|
||||
target.say(":g AAAAARRRRGGGGGHHHHH!!")
|
||||
to_chat(target, "<span class='changeling bold'>You can now communicate in the changeling hivemind, say \":g message\" to communicate!</span>")
|
||||
target.say("[MODE_TOKEN_CHANGELING] AAAAARRRRGGGGGHHHHH!!")
|
||||
to_chat(target, "<span class='changeling bold'>You can now communicate in the changeling hivemind, say \"[MODE_TOKEN_CHANGELING] message\" to communicate!</span>")
|
||||
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]"))
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@ 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
|
||||
RADIO_KEY_DEPARTMENT = RADIO_CHANNEL_DEPARTMENT,
|
||||
MODE_KEY_DEPARTMENT = MODE_DEPARTMENT,
|
||||
RADIO_KEY_COMMAND = RADIO_CHANNEL_COMMAND,
|
||||
RADIO_KEY_SCIENCE = RADIO_CHANNEL_SCIENCE,
|
||||
RADIO_KEY_MEDICAL = RADIO_CHANNEL_MEDICAL,
|
||||
@@ -21,23 +21,23 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
|
||||
RADIO_KEY_CENTCOM = RADIO_CHANNEL_CENTCOM,
|
||||
|
||||
// Admin
|
||||
"p" = "admin",
|
||||
"d" = "deadmin",
|
||||
MODE_KEY_ADMIN = MODE_ADMIN,
|
||||
MODE_KEY_DEADMIN = MODE_DEADMIN,
|
||||
|
||||
// Misc
|
||||
RADIO_KEY_AI_PRIVATE = RADIO_CHANNEL_AI_PRIVATE, // AI Upload channel
|
||||
"x" = "cords", // vocal cords, used by Voice of God
|
||||
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
|
||||
"ð" = RADIO_CHANNEL_DEPARTMENT,
|
||||
"ð" = MODE_DEPARTMENT,
|
||||
"ñ" = RADIO_CHANNEL_COMMAND,
|
||||
"ò" = RADIO_CHANNEL_SCIENCE,
|
||||
"ü" = RADIO_CHANNEL_MEDICAL,
|
||||
@@ -51,12 +51,12 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
|
||||
"í" = RADIO_CHANNEL_CENTCOM,
|
||||
|
||||
// Admin
|
||||
"ç" = "admin",
|
||||
"â" = "deadmin",
|
||||
"ç" = MODE_ADMIN,
|
||||
"â" = MODE_ADMIN,
|
||||
|
||||
// Misc
|
||||
"ù" = RADIO_CHANNEL_AI_PRIVATE,
|
||||
"÷" = "cords"
|
||||
"÷" = 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
|
||||
|
||||
@@ -266,7 +266,7 @@
|
||||
available_channels.Add(RADIO_TOKEN_SERVICE)
|
||||
|
||||
if(headset_to_add.translate_binary)
|
||||
available_channels.Add(RADIO_TOKEN_BINARY)
|
||||
available_channels.Add(MODE_TOKEN_BINARY)
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user