diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index 89c1fd30ac..17bc771734 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -86,11 +86,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept signal.data["name"], signal.data["job"], signal.data["realname"], signal.data["vname"], DATA_NORMAL, signal.data["compression"], signal.data["level"], signal.frequency, -<<<<<<< HEAD - signal.data["verb"], signal.data["language"], forced_radios) -======= - signal.data["verb"]) ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) + signal.data["verb"], forced_radios) /** #### - Simple Broadcast - #### **/ @@ -115,14 +111,9 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept signal.data["vmask"], signal.data["vmessage"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], -<<<<<<< HEAD signal.data["realname"], signal.data["vname"], DATA_FAKE, signal.data["compression"], signal.data["level"], signal.frequency, - signal.data["verb"], signal.data["language"], forced_radios) -======= - signal.data["realname"], signal.data["vname"], 4, signal.data["compression"], signal.data["level"], signal.frequency, - signal.data["verb"]) ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) + signal.data["verb"], forced_radios) if(!message_delay) message_delay = 1 @@ -279,30 +270,18 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept signal.data["vmask"], signal.data["vmessage"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], -<<<<<<< HEAD signal.data["realname"], signal.data["vname"], DATA_NORMAL, signal.data["compression"], list(0), connection.frequency, - signal.data["verb"], signal.data["language"], forced_radios) -======= - signal.data["realname"], signal.data["vname"],, signal.data["compression"], list(0), connection.frequency, - signal.data["verb"]) ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) + signal.data["verb"], forced_radios) else if(intercept) Broadcast_Message(signal.data["connection"], signal.data["mob"], signal.data["vmask"], signal.data["vmessage"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], -<<<<<<< HEAD signal.data["realname"], signal.data["vname"], DATA_ANTAG, signal.data["compression"], list(0), connection.frequency, - signal.data["verb"], signal.data["language"], forced_radios) -======= - signal.data["realname"], signal.data["vname"], 3, signal.data["compression"], list(0), connection.frequency, - signal.data["verb"]) - - ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) + signal.data["verb"], forced_radios) /** @@ -362,16 +341,10 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept **/ /proc/Broadcast_Message(var/datum/radio_frequency/connection, var/mob/M, -<<<<<<< HEAD - var/vmask, var/vmessage, var/obj/item/device/radio/radio, - var/message, var/name, var/job, var/realname, var/vname, - var/data, var/compression, var/list/level, var/freq, var/verbage = "says", - var/datum/language/speaking = null, var/list/forced_radios) -======= var/vmask, var/list/vmessage_pieces, var/obj/item/device/radio/radio, var/list/message_pieces, var/name, var/job, var/realname, var/vname, - var/data, var/compression, var/list/level, var/freq, var/verbage = "says") ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) + var/data, var/compression, var/list/level, var/freq, var/verbage = "says", + var/list/forced_radios) /* ###### Prepare the radio connection ###### */ @@ -568,13 +541,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept return 1 -<<<<<<< HEAD -/proc/Broadcast_SimpleMessage(var/source, var/frequency, var/text, var/data, var/mob/M, var/compression, var/level, var/list/forced_radios) - -======= -/proc/Broadcast_SimpleMessage(var/source, var/frequency, list/message_pieces, var/data, var/mob/M, var/compression, var/level) +/proc/Broadcast_SimpleMessage(var/source, var/frequency, list/message_pieces, var/data, var/mob/M, var/compression, var/level, var/list/forced_radios) var/text = multilingual_to_message(message_pieces) ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) /* ###### Prepare the radio connection ###### */ if(!M) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index afe58f7308..995b659c19 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -216,7 +216,7 @@ var/global/list/default_medbay_channels = list( return can_admin_interact() /obj/item/device/radio/proc/text_wires() - if(b_stat) + if (b_stat) return wires.GetInteractWindow() return @@ -244,31 +244,31 @@ var/global/list/default_medbay_channels = list( return TRUE usr.set_machine(src) - if(href_list["track"]) + if (href_list["track"]) var/mob/target = locate(href_list["track"]) var/mob/living/silicon/ai/A = locate(href_list["track2"]) if(A && target) A.ai_actual_track(target) . = 1 - else if(href_list["freq"]) + else if (href_list["freq"]) var/new_frequency = (frequency + text2num(href_list["freq"])) - if((new_frequency < PUBLIC_LOW_FREQ || new_frequency > PUBLIC_HIGH_FREQ)) + if ((new_frequency < PUBLIC_LOW_FREQ || new_frequency > PUBLIC_HIGH_FREQ)) new_frequency = sanitize_frequency(new_frequency) set_frequency(new_frequency) if(hidden_uplink) if(hidden_uplink.check_trigger(usr, frequency, traitor_frequency)) usr << browse(null, "window=radio") . = 1 - else if(href_list["talk"]) + else if (href_list["talk"]) ToggleBroadcast() . = 1 - else if(href_list["listen"]) + else if (href_list["listen"]) var/chan_name = href_list["ch_name"] - if(!chan_name) + if (!chan_name) ToggleReception() else - if(channels[chan_name] & FREQ_LISTENING) + if (channels[chan_name] & FREQ_LISTENING) channels[chan_name] &= ~FREQ_LISTENING else channels[chan_name] |= FREQ_LISTENING @@ -287,18 +287,13 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/proc/autosay(var/message, var/from, var/channel, var/list/zlevels) //BS12 EDIT var/datum/radio_frequency/connection = null if(channel && channels && channels.len > 0) -<<<<<<< HEAD if (channel == "department") -======= - if(channel == "department") - //to_world("DEBUG: channel=\"[channel]\" switching to \"[channels[1]]\"") ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) channel = channels[1] connection = secure_radio_connections[channel] else connection = radio_connection channel = null - if(!istype(connection)) + if (!istype(connection)) return if(!LAZYLEN(zlevels)) @@ -308,13 +303,8 @@ var/global/list/default_medbay_channels = list( A.SetName(from) Broadcast_Message(connection, A, 0, "*garbled automated announcement*", src, -<<<<<<< HEAD - message, from, "Automated Announcement", from, "synthesized voice", - 4, 0, zlevels, connection.frequency, "states") -======= message_to_multilingual(message), from, "Automated Announcement", from, "synthesized voice", - 4, 0, list(0), connection.frequency, "states") ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) + 4, 0, zlevels, connection.frequency, "states") // Interprets the message mode when talking into a radio, possibly returning a connection datum /obj/item/device/radio/proc/handle_message_mode(mob/living/M as mob, list/message_pieces, message_mode) @@ -324,10 +314,10 @@ var/global/list/default_medbay_channels = list( // Otherwise, if a channel is specified, look for it. if(channels && channels.len > 0) - if(message_mode == "department") // Department radio shortcut + if (message_mode == "department") // Department radio shortcut message_mode = channels[1] - if(channels[message_mode]) // only broadcast if the channel is set on + if (channels[message_mode]) // only broadcast if the channel is set on return secure_radio_connections[message_mode] // If we were to send to a channel we don't have, drop it. @@ -340,7 +330,8 @@ var/global/list/default_medbay_channels = list( if(!M || !message_pieces) return FALSE - if(istype(M)) M.trigger_aiming(TARGET_CAN_RADIO) + if(istype(M)) + M.trigger_aiming(TARGET_CAN_RADIO) // Uncommenting this. To the above comment: // The permacell radios aren't suppose to be able to transmit, this isn't a bug and this "fix" is just making radio wires useless. -Giacom @@ -369,15 +360,11 @@ var/global/list/default_medbay_channels = list( if(RADIO_CONNECTION_NON_SUBSPACE) return TRUE - if(!istype(message_mode, /datum/radio_frequency)) //if not a special case, it should be returning a radio connection + if(!istype(message_mode, /datum/radio_frequency)) return FALSE -<<<<<<< HEAD - var/pos_z = get_z(src) -======= var/datum/radio_frequency/connection = message_mode - var/turf/position = get_turf(src) ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) + var/pos_z = get_z(src) //#### Tagging the signal with all appropriate identity values ####// @@ -393,24 +380,24 @@ var/global/list/default_medbay_channels = list( var/jobname // the mob's "job" // --- Human: use their actual job --- - if(ishuman(M)) + if (ishuman(M)) var/mob/living/carbon/human/H = M jobname = H.get_assignment() // --- Carbon Nonhuman --- - else if(iscarbon(M)) // Nonhuman carbon mob + else if (iscarbon(M)) // Nonhuman carbon mob jobname = "No id" // --- AI --- - else if(isAI(M)) + else if (isAI(M)) jobname = "AI" // --- Cyborg --- - else if(isrobot(M)) + else if (isrobot(M)) jobname = "Cyborg" // --- Personal AI (pAI) --- - else if(istype(M, /mob/living/silicon/pai)) + else if (istype(M, /mob/living/silicon/pai)) jobname = "Personal AI" // --- Unidentifiable mob --- @@ -421,7 +408,7 @@ var/global/list/default_medbay_channels = list( // --- Modifications to the mob's identity --- // The mob is disguising their identity: - if(ishuman(M) && M.GetVoice() != real_name) + if (ishuman(M) && M.GetVoice() != real_name) displayname = M.GetVoice() jobname = "Unknown" voicemask = 1 @@ -438,7 +425,7 @@ var/global/list/default_medbay_channels = list( "name" = displayname, // the mob's display name "job" = jobname, // the mob's job "key" = mobkey, // the mob's key - "vmessage" = pick(M.speak_emote), // the message to display if the voice wasn't understood + "vmessage" = message_to_multilingual(pick(M.speak_emote)), // the message to display if the voice wasn't understood "vname" = M.voice_name, // the name to display if the voice wasn't understood "vmask" = voicemask, // 1 if the mob is using a voice gas mask @@ -447,7 +434,7 @@ var/global/list/default_medbay_channels = list( // Other tags: "compression" = rand(45,50), // compressed radio signal - "message" = message, // the actual sent message + "message" = message_pieces, // the actual sent message "connection" = connection, // the radio connection to use "radio" = src, // stores the radio used for transmission "slow" = 0, // how much to sleep() before broadcasting - simulates net lag @@ -456,7 +443,6 @@ var/global/list/default_medbay_channels = list( "server" = null, // the last server to log this signal "reject" = 0, // if nonzero, the signal will not be accepted by any broadcasting machinery "level" = pos_z, // The source's z level - "language" = speaking, "verb" = verb ) signal.frequency = connection.frequency // Quick frequency set @@ -490,48 +476,9 @@ var/global/list/default_medbay_channels = list( return FALSE // First, we want to generate a new radio signal -<<<<<<< HEAD signal.transmission_method = TRANSMISSION_SUBSPACE //#### Sending the signal to all subspace receivers ####// -======= - var/datum/signal/signal = new - signal.transmission_method = 2 // 2 would be a subspace transmission. - // transmission_method could probably be enumerated through #define. Would be neater. - - // --- Finally, tag the actual signal with the appropriate values --- - signal.data = list( - // Identity-associated tags: - "mob" = M, // store a reference to the mob - "mobtype" = M.type, // the mob's type - "realname" = real_name, // the mob's real name - "name" = displayname, // the mob's display name - "job" = jobname, // the mob's job - "key" = mobkey, // the mob's key - "vmessage" = pick(M.speak_emote), // the message to display if the voice wasn't understood - "vname" = M.voice_name, // the name to display if the voice wasn't understood - "vmask" = voicemask, // 1 if the mob is using a voice gas mask - - // We store things that would otherwise be kept in the actual mob - // so that they can be logged even AFTER the mob is deleted or something - - // Other tags: - "compression" = rand(45,50), // compressed radio signal - "message" = message_pieces, // the actual sent message - "connection" = connection, // the radio connection to use - "radio" = src, // stores the radio used for transmission - "slow" = 0, // how much to sleep() before broadcasting - simulates net lag - "traffic" = 0, // dictates the total traffic sum that the signal went through - "type" = 0, // determines what type of radio input it is: normal broadcast - "server" = null, // the last server to log this signal - "reject" = 0, // if nonzero, the signal will not be accepted by any broadcasting machinery - "level" = position.z, // The source's z level - "verb" = verb - ) - signal.frequency = connection.frequency // Quick frequency set - - //#### Sending the signal to all subspace receivers ####// ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) for(var/obj/machinery/telecomms/receiver/R in telecomms_list) R.receive_signal(signal) @@ -547,20 +494,6 @@ var/global/list/default_medbay_channels = list( else if(adhoc_fallback) //Less huzzah, we have to fallback to_chat(loc, "\The [src] pings as it falls back to local radio transmission.") subspace_transmission = FALSE -<<<<<<< HEAD -======= - return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), - src, message_pieces, displayname, jobname, real_name, M.voice_name, - signal.transmission_method, signal.data["compression"], GetConnectedZlevels(position.z), connection.frequency,verb) - - /* ###### Intercoms and station-bounced radios ###### */ - - var/filter_type = 2 - - /* --- Intercoms can only broadcast to other intercoms, but bounced radios can broadcast to bounced radios and intercoms --- */ - if(istype(src, /obj/item/device/radio/intercom)) - filter_type = 1 ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) else //Oh well return FALSE @@ -578,25 +511,9 @@ var/global/list/default_medbay_channels = list( for(var/obj/machinery/telecomms/receiver/R in telecomms_list) R.receive_signal(signal) -<<<<<<< HEAD // Allinone can act as receivers. for(var/obj/machinery/telecomms/allinone/R in telecomms_list) R.receive_signal(signal) -======= - "compression" = 0, // uncompressed radio signal - "message" = message_pieces, // the actual sent message - "connection" = connection, // the radio connection to use - "radio" = src, // stores the radio used for transmission - "slow" = 0, - "traffic" = 0, - "type" = 0, - "server" = null, - "reject" = 0, - "level" = position.z, - "verb" = verb - ) - signal.frequency = connection.frequency // Quick frequency set ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) for(var/obj/machinery/telecomms/receiver/R in telecomms_list) R.receive_signal(signal) @@ -610,45 +527,21 @@ var/global/list/default_medbay_channels = list( //Nothing handled any sort of remote radio-ing and returned before now, just squawk on this zlevel. return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), -<<<<<<< HEAD - src, message, displayname, jobname, real_name, M.voice_name, - filter_type, signal.data["compression"], using_map.get_map_levels(pos_z), connection.frequency, verb, speaking) -======= - src, message_pieces, displayname, jobname, real_name, M.voice_name, - filter_type, signal.data["compression"], GetConnectedZlevels(position.z), connection.frequency, verb) ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) + src, message_pieces, displayname, jobname, real_name, M.voice_name, + filter_type, signal.data["compression"], using_map.get_map_levels(pos_z), connection.frequency, verb) -/obj/item/device/radio/hear_talk(mob/M, list/message_pieces, verb) +/obj/item/device/radio/hear_talk(mob/M as mob, list/message_pieces, var/verb = "says") if(broadcasting) if(get_dist(src, M) <= canhear_range) talk_into(M, message_pieces, null, verb) -<<<<<<< HEAD -======= -/* -/obj/item/device/radio/proc/accept_rad(obj/item/device/radio/R as obj, message) - - if((R.frequency == frequency && message)) - return TRUE - else if - - else - return null - return -*/ - ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) /obj/item/device/radio/proc/receive_range(freq, level) // check if this radio can receive on the given frequency, and if so, // what the range is in which mobs will hear the radio // returns: -1 if can't receive, range otherwise -<<<<<<< HEAD -======= - ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) if(wires.IsIndexCut(WIRE_RECEIVE)) return -1 if(!listening) @@ -665,20 +558,20 @@ var/global/list/default_medbay_channels = list( if(freq in CENT_FREQS) if(!(src.centComm))//Checks to see if it's allowed on that frequency, based on the encryption keys return -1 - if(!on) + if (!on) return -1 - if(!freq) //recieved on main frequency - if(!listening) + if (!freq) //recieved on main frequency + if (!listening) return -1 else var/accept = (freq==frequency && listening) - if(!accept) + if (!accept) for (var/ch_name in channels) var/datum/radio_frequency/RF = secure_radio_connections[ch_name] - if(RF && RF.frequency==freq && (channels[ch_name]&FREQ_LISTENING)) + if (RF && RF.frequency==freq && (channels[ch_name]&FREQ_LISTENING)) accept = 1 break - if(!accept) + if (!accept) return -1 return canhear_range @@ -691,8 +584,8 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/examine(mob/user) . = ..() - if((in_range(src, user) || loc == user)) - if(b_stat) + if ((in_range(src, user) || loc == user)) + if (b_stat) user.show_message("\The [src] can be attached and modified!") else user.show_message("\The [src] can not be modified or attached!") @@ -701,11 +594,11 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() user.set_machine(src) - if(!W.is_screwdriver()) + if (!W.is_screwdriver()) return b_stat = !( b_stat ) if(!istype(src, /obj/item/device/radio/beacon)) - if(b_stat) + if (b_stat) user.show_message("\The [src] can now be attached and modified!") else user.show_message("\The [src] can no longer be modified or attached!") @@ -745,7 +638,7 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/borg/talk_into() . = ..() - if(isrobot(src.loc)) + if (isrobot(src.loc)) var/mob/living/silicon/robot/R = src.loc var/datum/robot_component/C = R.components["radio"] R.cell_use_power(C.active_usage) @@ -753,7 +646,7 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/borg/attackby(obj/item/weapon/W as obj, mob/user as mob) // ..() user.set_machine(src) - if(!(W.is_screwdriver() || istype(W, /obj/item/device/encryptionkey))) + if (!(W.is_screwdriver() || istype(W, /obj/item/device/encryptionkey))) return if(W.is_screwdriver()) @@ -827,7 +720,7 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/borg/Topic(href, href_list) if(..()) return TRUE - if(href_list["mode"]) + if (href_list["mode"]) var/enable_subspace_transmission = text2num(href_list["mode"]) if(enable_subspace_transmission != subspace_transmission) subspace_transmission = !subspace_transmission @@ -841,7 +734,7 @@ var/global/list/default_medbay_channels = list( else recalculateChannels() . = 1 - if(href_list["shutup"]) // Toggle loudspeaker mode, AKA everyone around you hearing your radio. + if (href_list["shutup"]) // Toggle loudspeaker mode, AKA everyone around you hearing your radio. var/do_shut_up = text2num(href_list["shutup"]) if(do_shut_up != shut_up) shut_up = !shut_up diff --git a/code/game/objects/items/weapons/implants/implant_vr.dm b/code/game/objects/items/weapons/implants/implant_vr.dm index 17d1d6f6d2..133bcb48f4 100644 --- a/code/game/objects/items/weapons/implants/implant_vr.dm +++ b/code/game/objects/items/weapons/implants/implant_vr.dm @@ -60,12 +60,13 @@ Function: Resizes the host whenever specific verbal command is received
"} return dat -/obj/item/weapon/implant/sizecontrol/hear_talk(mob/M, msg) +/obj/item/weapon/implant/sizecontrol/hear_talk(mob/M, list/message_pieces) if(M == imp_in) return if(owner) if(M != owner) return + var/msg = multilingual_to_message(message_pieces) if(findtext(msg,"ignore")) return var/list/replacechars = list("'" = "",">" = "","<" = "","(" = "",")" = "", "~" = "") diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 88b74579b1..a80275cb6b 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -741,11 +741,7 @@ twitch_v, vomit, whimper, wink, yawn. Prometheans: squish Synthetics: beep, buzz, dwoop, yes, no, rcough, rsneeze, ping. Skrell: warble") else -<<<<<<< HEAD - to_chat(src, "Unusable emote '[act]'. Say *help or *vhelp for a list.") //VOREStation Edit, mention *vhelp for Virgo-specific emotes located in emote_vr.dm. -======= - to_chat(src, "Unusable emote '[act]'. Say *help for a list.") ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) + to_chat(src, "Unusable emote '[act]'. Say *help or *vhelp for a list.") //VOREStation Edit, mention *vhelp for Virgo-specific emotes located in emote_vr.dm. if(message) custom_emote(m_type,message) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index df9e6a331e..e8907cf29e 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -2,12 +2,7 @@ if(name != GetVoice()) return " (as [get_id_name("Unknown")])" -<<<<<<< HEAD - message = sanitize_or_reflect(message,src) //VOREStation Edit - Reflect too-long messages, within reason - ..(message, alt_name = alt_name, whispering = whispering) -======= return ..() ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) /mob/living/carbon/human/proc/forcesay(list/append) if(stat == CONSCIOUS) @@ -61,21 +56,6 @@ if(!speaking) if(istype(other, /mob/living/carbon/alien/diona)) if(other.languages.len >= 2) //They've sucked down some blood and can speak common now. -<<<<<<< HEAD - return 1 - if (istype(other, /mob/living/silicon)) - return 1 - if (istype(other, /mob/living/carbon/brain)) - return 1 - if (istype(other, /mob/living/simple_mob/slime)) - return 1 - - //This is already covered by mob/say_understands() - //if (istype(other, /mob/living/simple_mob)) - // if((other.universal_speak && !speaking) || src.universal_speak || src.universal_understand) - // return 1 - // return 0 -======= return TRUE if(issilicon(other)) return TRUE @@ -83,7 +63,6 @@ return TRUE if(isslime(other)) return TRUE ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) return ..() diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index e3693533a8..bd332f61f9 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -86,29 +86,6 @@ proc/get_radio_key_from_channel(var/channel) var/whispering = message_data[3] . = 0 -<<<<<<< HEAD - if((HULK in mutations) && health >= 25 && length(message)) - message = "[uppertext(message)]!!!" - verb = pick("yells","roars","hollers") - whispering = 0 - . = 1 - if(slurring) - message = slur(message) - verb = pick("slobbers","slurs") - . = 1 - if(stuttering) - message = stutter(message) - verb = pick("stammers","stutters") - . = 1 - //VOREStation Edit Start - if(muffled) - verb = pick("muffles") - whispering = 1 - . = 1 - //VOREStation Edit End - - message_data[1] = message -======= // Technically this rerolls the verb for as many say pieces as there are. _shrug_ for(var/datum/multilingual_say_piece/S in message_pieces) if(S.speaking && (S.speaking.flags & NO_STUTTER || S.speaking.flags & SIGNLANG)) @@ -127,9 +104,14 @@ proc/get_radio_key_from_channel(var/channel) S.message = stutter(S.message) verb = pick("stammers","stutters") . = 1 + //VOREStation Edit Start + if(muffled) + verb = pick("muffles") + whispering = 1 + . = 1 + //VOREStation Edit End message_data[1] = message_pieces ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) message_data[2] = verb message_data[3] = whispering @@ -282,7 +264,6 @@ proc/get_radio_key_from_channel(var/channel) message_range = 1 sound_vol *= 0.5 -<<<<<<< HEAD //VOREStation edit - allows for custom say verbs, overriding all other say-verb types- e.g. "says loudly" instead of "shouts" //You'll still stammer if injured or slur if drunk, but it won't have those specific words var/ending = copytext(message, length(message)) @@ -297,22 +278,11 @@ proc/get_radio_key_from_channel(var/channel) verb = "[custom_say]" //VOREStation edit ends - //Handle nonverbal and sign languages here - if (speaking) - if (speaking.flags & SIGNLANG) - log_say("(SIGN) [message]", src) - return say_signlang(message, pick(speaking.signlang_verb), speaking) - - if (speaking.flags & NONVERBAL) - if (prob(30)) - src.custom_emote(1, "[pick(speaking.signlang_verb)].") -======= //Handle nonverbal languages here for(var/datum/multilingual_say_piece/S in message_pieces) if(S.speaking.flags & NONVERBAL) if(prob(30)) custom_emote(1, "[pick(S.speaking.signlang_verb)].") ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) //These will contain the main receivers of the message var/list/listening = list() diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index 4f2a23bce5..e15c268eee 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -120,13 +120,8 @@ m_type = 1 if("law") -<<<<<<< HEAD - if (istype(module,/obj/item/weapon/robot_module/robot/security) || istype(module,/obj/item/weapon/robot_module/robot/knine)) //VOREStation Add - K9 - message = "shows its legal authorization barcode." -======= - if(istype(module,/obj/item/weapon/robot_module/robot/security)) + if(istype(module,/obj/item/weapon/robot_module/robot/security) || istype(module,/obj/item/weapon/robot_module/robot/knine)) //VOREStation Add - K9 message = "[src] shows its legal authorization barcode." ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) playsound(src.loc, 'sound/voice/biamthelaw.ogg', 50, 0) m_type = 2 @@ -134,13 +129,8 @@ to_chat(src, "You are not THE LAW, pal.") if("halt") -<<<<<<< HEAD - if (istype(module,/obj/item/weapon/robot_module/robot/security) || istype(module,/obj/item/weapon/robot_module/robot/knine)) //VOREStation Add - K9 - message = "'s speakers skreech, \"Halt! Security!\"." -======= - if(istype(module,/obj/item/weapon/robot_module/robot/security)) + if(istype(module,/obj/item/weapon/robot_module/robot/security) || istype(module,/obj/item/weapon/robot_module/robot/knine)) //VOREStation Add - K9 message = "[src] 's speakers skreech, \"Halt! Security!\"." ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) playsound(src.loc, 'sound/voice/halt.ogg', 50, 0) m_type = 2 diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 41df4c5146..ef870cb1f3 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -61,23 +61,6 @@ var/obj/machinery/hologram/holopad/T = src.holo if(T && T.masters[src])//If there is a hologram and its master is the user. -<<<<<<< HEAD - //Human-like, sorta, heard by those who understand humans. - var/rendered_a - //Speech distorted, heard by those who do not understand AIs. - var/message_stars = stars(message) - var/rendered_b - - if(speaking) - rendered_a = "[name] [speaking.format_message(message, verb)]" - rendered_b = "[voice_name] [speaking.format_message(message_stars, verb)]" - to_chat(src, "Holopad transmitted, [real_name] [speaking.format_message(message, verb)]") //The AI can "hear" its own message. - else - rendered_a = "[name] [verb], \"[message]\"" - rendered_b = "[voice_name] [verb], \"[message_stars]\"" - to_chat(src, "Holopad transmitted, [real_name] [verb], \"[message]\"") //The AI can "hear" its own message. -======= ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) var/list/listeners = get_mobs_and_objs_in_view_fast(get_turf(T), world.view) var/list/listening = listeners["mobs"] var/list/listening_obj = listeners["objs"] diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm index 427c0fff9c..3c222b9fdf 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm @@ -1,4 +1,3 @@ -<<<<<<< HEAD // Parrots can talk, and may repeat things it hears. /mob/living/simple_mob/animal/passive/bird/parrot name = "parrot" @@ -42,11 +41,11 @@ return say(message) // Ugly saycode so parrots can use their headsets. -/mob/living/simple_mob/animal/passive/bird/parrot/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name) +/mob/living/simple_mob/animal/passive/bird/parrot/handle_message_mode(message_mode, message, verb, used_radios) ..() if(message_mode) if(my_headset && istype(my_headset, /obj/item/device/radio)) - my_headset.talk_into(src, message, message_mode, verb, speaking) + my_headset.talk_into(src, message, message_mode, verb) used_radios += my_headset // Clicked on while holding an object. @@ -250,257 +249,4 @@ if(holder.stat || !holder.say_list || !message || speaker == holder) return var/datum/say_list/S = holder.say_list -======= -// Parrots can talk, and may repeat things it hears. -/mob/living/simple_mob/animal/passive/bird/parrot - name = "parrot" - description_info = "You can give it a headset by clicking on it with a headset. \ - To remove it, click the bird while on grab intent." - has_langs = list("Galactic Common", "Bird") - - ai_holder_type = /datum/ai_holder/simple_mob/passive/parrot - - // A headset, so that talking parrots can yell at the crew over comms. - // If set to a type, on initialize it will be instantiated into that type. - var/obj/item/device/radio/headset/my_headset = null - -// Say list -/datum/say_list/bird/poly - speak = list( - "Poly wanna cracker!", - "Check the singulo, you chucklefucks!", - "Wire the solars, you lazy bums!", - "WHO TOOK THE DAMN HARDSUITS?", - "OH GOD ITS FREE CALL THE SHUTTLE", - "Danger! Crystal hyperstructure instability!", - "CRYSTAL DELAMINATION IMMINENT.", - "Tweet tweet, I'm a Teshari.", - "Chitters.", - "Meteors have been detected on a collision course with the station!" - ) - -// Lets the AI use headsets. -// Player-controlled parrots will need to do it manually. -/mob/living/simple_mob/animal/passive/bird/parrot/ISay(message) - if(my_headset && prob(50)) - var/list/keys = list() - for(var/channel in my_headset.channels) - var/key = get_radio_key_from_channel(channel) - if(key) - keys += key - if(keys.len) - var/key_used = pick(keys) - return say("[key_used] [message]") - return say(message) - -// Ugly saycode so parrots can use their headsets. -/mob/living/simple_mob/animal/passive/bird/parrot/handle_message_mode(message_mode, message, verb, speaking, used_radios) - ..() - if(message_mode) - if(my_headset && istype(my_headset, /obj/item/device/radio)) - my_headset.talk_into(src, message, message_mode, verb, speaking) - used_radios += my_headset - -// Clicked on while holding an object. -/mob/living/simple_mob/animal/passive/bird/parrot/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/device/radio/headset)) - give_headset(I, user) - return - return ..() - -// Clicked on by empty hand. -/mob/living/simple_mob/animal/passive/bird/parrot/attack_hand(mob/living/L) - if(L.a_intent == I_GRAB && my_headset) - remove_headset(L) - else - ..() - - -/mob/living/simple_mob/animal/passive/bird/parrot/proc/give_headset(obj/item/device/radio/headset/new_headset, mob/living/user) - if(!istype(new_headset)) - to_chat(user, span("warning", "\The [new_headset] isn't a headset.")) - return - if(my_headset) - to_chat(user, span("warning", "\The [src] is already wearing \a [my_headset].")) - return - else - user.drop_item(new_headset) - my_headset = new_headset - new_headset.forceMove(src) - to_chat(user, span("warning", "You place \a [new_headset] on \the [src]. You monster.")) - to_chat(src, span("notice", "\The [user] gives you \a [new_headset]. You should put it to good use immediately.")) - return - -/mob/living/simple_mob/animal/passive/bird/parrot/proc/remove_headset(mob/living/user) - if(!my_headset) - to_chat(user, "\The [src] doesn't have a headset to remove, thankfully.") - else - ISay("BAWWWWWK LEAVE THE HEADSET BAWKKKKK!") - my_headset.forceMove(get_turf(src)) - user.put_in_hands(my_headset) - to_chat(user, span("notice", "You take away \the [src]'s [my_headset.name]. Finally.")) - to_chat(src, span("warning", "\The [user] takes your [my_headset.name] away! How cruel!")) - my_headset = null - -/mob/living/simple_mob/animal/passive/bird/parrot/examine(mob/user) - ..() - if(my_headset) - to_chat(user, "It is wearing \a [my_headset].") - -/mob/living/simple_mob/animal/passive/bird/parrot/Initialize() - if(my_headset) - my_headset = new my_headset(src) - return ..() - -// Subtypes. - -// Best Bird -/mob/living/simple_mob/animal/passive/bird/parrot/poly - name = "Poly" - desc = "It's a parrot. An expert on quantum cracker theory." - icon_state = "poly" - icon_rest = "poly-held" - icon_dead = "poly-dead" - tt_desc = "E Ara macao" - my_headset = /obj/item/device/radio/headset/headset_eng - say_list_type = /datum/say_list/bird/poly - -// Best Bird with best headset. -/mob/living/simple_mob/animal/passive/bird/parrot/poly/ultimate - my_headset = /obj/item/device/radio/headset/omni - -/mob/living/simple_mob/animal/passive/bird/parrot/kea - name = "kea" - desc = "A species of parrot. On Earth, they are unique among other parrots for residing in alpine climates. \ - They are known to be intelligent and curious, which has made some consider them a pest." - icon_state = "kea" - icon_rest = "kea-held" - icon_dead = "kea-dead" - tt_desc = "E Nestor notabilis" - -/mob/living/simple_mob/animal/passive/bird/parrot/eclectus - name = "eclectus" - desc = "A species of parrot, this species features extreme sexual dimorphism in their plumage's colors. \ - A male eclectus has emerald green plumage, where as a female eclectus has red and purple plumage." - icon_state = "eclectus" - icon_rest = "eclectus-held" - icon_dead = "eclectus-dead" - tt_desc = "E Eclectus roratus" - -/mob/living/simple_mob/animal/passive/bird/parrot/eclectus/Initialize() - gender = pick(MALE, FEMALE) - if(gender == FEMALE) - icon_state = "eclectusf" - icon_rest = "eclectusf-held" - icon_dead = "eclectusf-dead" - return ..() - -/mob/living/simple_mob/animal/passive/bird/parrot/grey_parrot - name = "grey parrot" - desc = "A species of parrot. This one is predominantly grey, but has red tail feathers." - icon_state = "agrey" - icon_rest = "agrey-held" - icon_dead = "agrey-dead" - tt_desc = "E Psittacus erithacus" - -/mob/living/simple_mob/animal/passive/bird/parrot/black_headed_caique - name = "black-headed caique" - desc = "A species of parrot, these birds have a distinct black color on their heads, distinguishing them from their relative Caiques." - icon_state = "bcaique" - icon_rest = "bcaique-held" - icon_dead = "bcaique-dead" - tt_desc = "E Pionites melanocephalus" - -/mob/living/simple_mob/animal/passive/bird/parrot/white_caique - name = "white-bellied caique" - desc = "A species of parrot, they are also known as the Green-Thighed Parrot." - icon_state = "wcaique" - icon_rest = "wcaique-held" - icon_dead = "wcaique-dead" - tt_desc = "E Pionites leucogaster" - -/mob/living/simple_mob/animal/passive/bird/parrot/budgerigar - name = "budgerigar" - desc = "A species of parrot, they are also known as the common parakeet, or in some circles, the budgie. \ - This one is has its natural colors of green and yellow." - icon_state = "gbudge" - icon_rest = "gbudge-held" - icon_dead = "gbudge-dead" - tt_desc = "E Melopsittacus undulatus" - -/mob/living/simple_mob/animal/passive/bird/parrot/budgerigar/blue - icon_state = "bbudge" - icon_rest = "bbudge-held" - icon_dead = "bbudge-dead" - desc = "A species of parrot, they are also known as the common parakeet, or in some circles, the budgie. \ - This one has a mutation which altered its color to be blue instead of green and yellow." - -/mob/living/simple_mob/animal/passive/bird/parrot/budgerigar/bluegreen - icon_state = "bgbudge" - icon_rest = "bgbudge-held" - icon_dead = "bgbudge-dead" - desc = "A species of parrot, they are also known as the common parakeet, or in some circles, the budgie. \ - This one has a mutation which altered its color to be a mix of blue and green." - -/mob/living/simple_mob/animal/passive/bird/parrot/cockatiel - name = "cockatiel" - desc = "A species of parrot. This one has a highly visible crest." - icon_state = "tiel" - icon_rest = "tiel-held" - icon_dead = "tiel-dead" - tt_desc = "E Nymphicus hollandicus" - -/mob/living/simple_mob/animal/passive/bird/parrot/cockatiel/white - icon_state = "wtiel" - icon_rest = "wtiel-held" - icon_dead = "wtiel-dead" - -/mob/living/simple_mob/animal/passive/bird/parrot/cockatiel/yellowish - icon_state = "luttiel" - icon_rest = "luttiel-held" - icon_dead = "luttiel-dead" - -/mob/living/simple_mob/animal/passive/bird/parrot/cockatiel/grey - icon_state = "blutiel" // idk why this is blu. - icon_rest = "blutiel-held" - icon_dead = "blutiel-dead" - -// This actually might be the yellow-crested cockatoo but idk. -/mob/living/simple_mob/animal/passive/bird/parrot/sulphur_cockatoo - name = "sulphur-crested cockatoo" - desc = "A species of parrot. This one has an expressive yellow crest. Their underwing and tail feathers are also yellow." - icon_state = "too" - icon_rest = "too-held" - icon_dead = "too-dead" - tt_desc = "E Cacatua galerita" - -// This was originally called 'hooded_too', which might not mean the unbrella cockatoo but idk. -/mob/living/simple_mob/animal/passive/bird/parrot/white_cockatoo - name = "white cockatoo" - desc = "A species of parrot. This one is also known as the Umbrella Cockatoo, due to the semicircular shape of its crest." - icon_state = "utoo" - icon_rest = "utoo-held" - icon_dead = "utoo-dead" - tt_desc = "E Cacatua alba" - -/mob/living/simple_mob/animal/passive/bird/parrot/pink_cockatoo - name = "pink cockatoo" - desc = "A species of parrot. This one is also known as Major Mitchell's cockatoo, \ - in honor of a human surveyor and explorer who existed before humans fully explored their home planet." - icon_state = "mtoo" - icon_rest = "mtoo-held" - icon_dead = "mtoo-dead" - tt_desc = "E Lophochroa leadbeateri" - - -// AI -/datum/ai_holder/simple_mob/passive/parrot - speak_chance = 2 - base_wander_delay = 8 - -/datum/ai_holder/simple_mob/passive/parrot/on_hear_say(mob/living/speaker, message) - if(holder.stat || !holder.say_list || !message || speaker == holder) - return - var/datum/say_list/S = holder.say_list ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) S.speak |= message \ No newline at end of file diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 81804d7119..4e825f9c65 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -605,7 +605,7 @@ return ready && ..() // Prevents lobby players from seeing say, even with ghostears -/mob/new_player/hear_say(var/message, var/verb = "says", var/datum/language/language = null, var/italics = 0, var/mob/speaker = null) +/mob/new_player/hear_say(var/list/message_pieces, var/verb = "says", var/italics = 0, var/mob/speaker = null) return // Prevents lobby players from seeing emotes, even with ghosteyes diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 439e3c5314..fce88e43df 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -12,6 +12,7 @@ set category = "IC" set_typing_indicator(FALSE) + message = sanitize_or_reflect(message, src) //VOREStation Edit - Reflect too-long messages, within reason usr.say(message) /mob/verb/me_verb(message as text) diff --git a/code/modules/multiz/zshadow.dm b/code/modules/multiz/zshadow.dm index eaa91e4a2b..540dfddada 100644 --- a/code/modules/multiz/zshadow.dm +++ b/code/modules/multiz/zshadow.dm @@ -41,12 +41,12 @@ return owner.examine(user, distance, infix, suffix) // Relay some stuff they hear -/mob/zshadow/hear_say(var/message, var/verb = "says", var/datum/language/language = null, var/italics = 0, var/mob/speaker = null, var/sound/speech_sound, var/sound_vol) +/mob/zshadow/hear_say(var/list/message_pieces, var/verb = "says", var/italics = 0, var/mob/speaker = null, var/sound/speech_sound, var/sound_vol) if(speaker && speaker.z != src.z) return // Only relay speech on our acutal z, otherwise we might relay sounds that were themselves relayed up! if(isliving(owner)) verb += " from above" - return owner.hear_say(message, verb, language, italics, speaker, speech_sound, sound_vol) + return owner.hear_say(message_pieces, verb, italics, speaker, speech_sound, sound_vol) /mob/zshadow/proc/sync_icon(var/mob/M) name = M.name diff --git a/code/modules/nifsoft/software/14_commlink.dm b/code/modules/nifsoft/software/14_commlink.dm index 66773dd711..f156e3ffb5 100644 --- a/code/modules/nifsoft/software/14_commlink.dm +++ b/code/modules/nifsoft/software/14_commlink.dm @@ -58,17 +58,18 @@ nif.save_data["commlink_name"] = owner //So that only the owner's chat is relayed to others. -/obj/item/device/communicator/commlink/hear_talk(mob/living/M, text, verb, datum/language/speaking) - if(M != nif.human) return - for(var/obj/item/device/communicator/comm in communicating) +/obj/item/device/communicator/commlink/hear_talk(mob/living/M, list/message_pieces, verb) + if(M != nif.human) + return + for(var/obj/item/device/communicator/comm in communicating) var/turf/T = get_turf(comm) if(!T) return var/icon_object = src var/list/mobs_to_relay - if(istype(comm,/obj/item/device/communicator/commlink)) + if(istype(comm, /obj/item/device/communicator/commlink)) var/obj/item/device/communicator/commlink/CL = comm mobs_to_relay = list(CL.nif.human) icon_object = CL.nif.big_icon @@ -77,18 +78,10 @@ mobs_to_relay = in_range["mobs"] for(var/mob/mob in mobs_to_relay) - //Can whoever is hearing us understand? - if(!mob.say_understands(M, speaking)) - if(speaking) - text = speaking.scramble(text) - else - text = stars(text) + var/message = mob.combine_message(message_pieces, verb, M) var/name_used = M.GetVoice() var/rendered = null - if(speaking) //Language being used - rendered = "[bicon(icon_object)] [name_used] [speaking.format_message(text, verb)]" - else - rendered = "[bicon(icon_object)] [name_used] [verb], \"[text]\"" + rendered = "[bicon(icon_object)] [name_used] [message]" mob.show_message(rendered, 2) //Not supported by the internal one diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm index e6e6dc580f..c2b2968a97 100644 --- a/code/modules/resleeving/machines.dm +++ b/code/modules/resleeving/machines.dm @@ -472,10 +472,6 @@ var/obj/item/weapon/grab/G = W if(!ismob(G.affecting)) return - for(var/mob/living/carbon/slime/M in range(1, G.affecting)) - if(M.Victim == G.affecting) - to_chat(usr, "[G.affecting:name] will not fit into the [src.name] because they have a slime latched onto their head.") - return var/mob/M = G.affecting if(put_mob(M)) qdel(G) diff --git a/code/modules/scripting/Implementations/Telecomms.dm b/code/modules/scripting/Implementations/Telecomms.dm index 98052576d4..ffe15da21d 100644 --- a/code/modules/scripting/Implementations/Telecomms.dm +++ b/code/modules/scripting/Implementations/Telecomms.dm @@ -253,7 +253,7 @@ datum/signal newsign.data["realname"] = newsign.data["name"] newsign.data["job"] = job newsign.data["compression"] = 0 - newsign.data["message"] = message + newsign.data["message"] = message_to_multilingual(message) newsign.data["type"] = 2 // artificial broadcast if(!isnum(freq)) freq = text2num(freq) @@ -264,7 +264,7 @@ datum/signal newsign.data["radio"] = hradio - newsign.data["vmessage"] = message + newsign.data["vmessage"] = message_to_multilingual(message) newsign.data["vname"] = source newsign.data["vmask"] = 0 newsign.data["level"] = list() diff --git a/code/modules/xenobio2/mob/xeno procs.dm b/code/modules/xenobio2/mob/xeno procs.dm index 0acdcba2e7..d038f87104 100644 --- a/code/modules/xenobio2/mob/xeno procs.dm +++ b/code/modules/xenobio2/mob/xeno procs.dm @@ -112,27 +112,11 @@ Divergence proc, used in mutation to make unique datums. /mob/living/simple_mob/xeno/proc/RandomizeTraits() return -<<<<<<< HEAD -/mob/living/simple_mob/xeno/hear_say(var/message, var/verb = "says", var/datum/language/language, var/alt_name = "",var/italics = 0, var/mob/speaker = null) -======= -/mob/living/simple_animal/xeno/hear_say(var/message, var/verb = "says", var/datum/language/language, var/italics = 0, var/mob/speaker = null) ->>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956) +/mob/living/simple_mob/xeno/hear_say(var/list/message_pieces, var/verb = "says", var/italics = 0, var/mob/speaker = null) if(traitdat.traits[TRAIT_XENO_CANLEARN]) - /* - Until this gets sorted out to a functioning point, or waiting on Psi's saycode update. - var/learned_message = say_understands(speaker, language) - if(!message || isxeno(speaker)) - return - if(learned_message) //Is it understood? - var/complete_message = ",[language.key] [message]" - if(!(complete_message in speak)) - speech_buffer.Add(complete_message) - log_debug("Added '[complete_message]'.") - else - */ if(!(message in speak)) - speech_buffer.Add(message) - ..(message,verb,language,italics,speaker) + speech_buffer.Add(multilingual_to_message(message_pieces)) + . = ..() /mob/living/simple_mob/xeno/proc/ProcessSpeechBuffer() if(speech_buffer.len) diff --git a/vorestation.dme b/vorestation.dme index 7ee3eed2cc..59fa2982e8 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2478,16 +2478,6 @@ #include "code\modules\mob\living\carbon\human\species\xenomorphs\alien_powers.dm" #include "code\modules\mob\living\carbon\human\species\xenomorphs\alien_species.dm" #include "code\modules\mob\living\carbon\human\species\xenomorphs\xenomorphs.dm" -#include "code\modules\mob\living\carbon\metroid\death.dm" -#include "code\modules\mob\living\carbon\metroid\emote.dm" -#include "code\modules\mob\living\carbon\metroid\examine.dm" -#include "code\modules\mob\living\carbon\metroid\life.dm" -#include "code\modules\mob\living\carbon\metroid\login.dm" -#include "code\modules\mob\living\carbon\metroid\metroid.dm" -#include "code\modules\mob\living\carbon\metroid\powers.dm" -#include "code\modules\mob\living\carbon\metroid\say.dm" -#include "code\modules\mob\living\carbon\metroid\subtypes.dm" -#include "code\modules\mob\living\carbon\metroid\update_icons.dm" #include "code\modules\mob\living\silicon\death.dm" #include "code\modules\mob\living\silicon\emote.dm" #include "code\modules\mob\living\silicon\laws.dm"