mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Fixed merge conflicts and errors, everything seems to work
This commit is contained in:
@@ -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["name"], signal.data["job"],
|
||||||
signal.data["realname"], signal.data["vname"], DATA_NORMAL,
|
signal.data["realname"], signal.data["vname"], DATA_NORMAL,
|
||||||
signal.data["compression"], signal.data["level"], signal.frequency,
|
signal.data["compression"], signal.data["level"], signal.frequency,
|
||||||
<<<<<<< HEAD
|
signal.data["verb"], forced_radios)
|
||||||
signal.data["verb"], signal.data["language"], forced_radios)
|
|
||||||
=======
|
|
||||||
signal.data["verb"])
|
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
|
|
||||||
|
|
||||||
/** #### - Simple Broadcast - #### **/
|
/** #### - 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["vmask"], signal.data["vmessage"],
|
||||||
signal.data["radio"], signal.data["message"],
|
signal.data["radio"], signal.data["message"],
|
||||||
signal.data["name"], signal.data["job"],
|
signal.data["name"], signal.data["job"],
|
||||||
<<<<<<< HEAD
|
|
||||||
signal.data["realname"], signal.data["vname"], DATA_FAKE,
|
signal.data["realname"], signal.data["vname"], DATA_FAKE,
|
||||||
signal.data["compression"], signal.data["level"], signal.frequency,
|
signal.data["compression"], signal.data["level"], signal.frequency,
|
||||||
signal.data["verb"], signal.data["language"], forced_radios)
|
signal.data["verb"], 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)
|
|
||||||
|
|
||||||
if(!message_delay)
|
if(!message_delay)
|
||||||
message_delay = 1
|
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["vmask"], signal.data["vmessage"],
|
||||||
signal.data["radio"], signal.data["message"],
|
signal.data["radio"], signal.data["message"],
|
||||||
signal.data["name"], signal.data["job"],
|
signal.data["name"], signal.data["job"],
|
||||||
<<<<<<< HEAD
|
|
||||||
signal.data["realname"], signal.data["vname"], DATA_NORMAL,
|
signal.data["realname"], signal.data["vname"], DATA_NORMAL,
|
||||||
signal.data["compression"], list(0), connection.frequency,
|
signal.data["compression"], list(0), connection.frequency,
|
||||||
signal.data["verb"], signal.data["language"], forced_radios)
|
signal.data["verb"], forced_radios)
|
||||||
=======
|
|
||||||
signal.data["realname"], signal.data["vname"],, signal.data["compression"], list(0), connection.frequency,
|
|
||||||
signal.data["verb"])
|
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
else
|
else
|
||||||
if(intercept)
|
if(intercept)
|
||||||
Broadcast_Message(signal.data["connection"], signal.data["mob"],
|
Broadcast_Message(signal.data["connection"], signal.data["mob"],
|
||||||
signal.data["vmask"], signal.data["vmessage"],
|
signal.data["vmask"], signal.data["vmessage"],
|
||||||
signal.data["radio"], signal.data["message"],
|
signal.data["radio"], signal.data["message"],
|
||||||
signal.data["name"], signal.data["job"],
|
signal.data["name"], signal.data["job"],
|
||||||
<<<<<<< HEAD
|
|
||||||
signal.data["realname"], signal.data["vname"], DATA_ANTAG,
|
signal.data["realname"], signal.data["vname"], DATA_ANTAG,
|
||||||
signal.data["compression"], list(0), connection.frequency,
|
signal.data["compression"], list(0), connection.frequency,
|
||||||
signal.data["verb"], signal.data["language"], forced_radios)
|
signal.data["verb"], forced_radios)
|
||||||
=======
|
|
||||||
signal.data["realname"], signal.data["vname"], 3, signal.data["compression"], list(0), connection.frequency,
|
|
||||||
signal.data["verb"])
|
|
||||||
|
|
||||||
|
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@@ -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,
|
/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/vmask, var/list/vmessage_pieces, var/obj/item/device/radio/radio,
|
||||||
var/list/message_pieces, var/name, var/job, var/realname, var/vname,
|
var/list/message_pieces, var/name, var/job, var/realname, var/vname,
|
||||||
var/data, var/compression, var/list/level, var/freq, var/verbage = "says")
|
var/data, var/compression, var/list/level, var/freq, var/verbage = "says",
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
var/list/forced_radios)
|
||||||
|
|
||||||
|
|
||||||
/* ###### Prepare the radio connection ###### */
|
/* ###### Prepare the radio connection ###### */
|
||||||
@@ -568,13 +541,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
|||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
<<<<<<< HEAD
|
/proc/Broadcast_SimpleMessage(var/source, var/frequency, list/message_pieces, var/data, var/mob/M, var/compression, var/level, var/list/forced_radios)
|
||||||
/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)
|
|
||||||
var/text = multilingual_to_message(message_pieces)
|
var/text = multilingual_to_message(message_pieces)
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
/* ###### Prepare the radio connection ###### */
|
/* ###### Prepare the radio connection ###### */
|
||||||
|
|
||||||
if(!M)
|
if(!M)
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ var/global/list/default_medbay_channels = list(
|
|||||||
return can_admin_interact()
|
return can_admin_interact()
|
||||||
|
|
||||||
/obj/item/device/radio/proc/text_wires()
|
/obj/item/device/radio/proc/text_wires()
|
||||||
if(b_stat)
|
if (b_stat)
|
||||||
return wires.GetInteractWindow()
|
return wires.GetInteractWindow()
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -244,31 +244,31 @@ var/global/list/default_medbay_channels = list(
|
|||||||
return TRUE
|
return TRUE
|
||||||
|
|
||||||
usr.set_machine(src)
|
usr.set_machine(src)
|
||||||
if(href_list["track"])
|
if (href_list["track"])
|
||||||
var/mob/target = locate(href_list["track"])
|
var/mob/target = locate(href_list["track"])
|
||||||
var/mob/living/silicon/ai/A = locate(href_list["track2"])
|
var/mob/living/silicon/ai/A = locate(href_list["track2"])
|
||||||
if(A && target)
|
if(A && target)
|
||||||
A.ai_actual_track(target)
|
A.ai_actual_track(target)
|
||||||
. = 1
|
. = 1
|
||||||
|
|
||||||
else if(href_list["freq"])
|
else if (href_list["freq"])
|
||||||
var/new_frequency = (frequency + text2num(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)
|
new_frequency = sanitize_frequency(new_frequency)
|
||||||
set_frequency(new_frequency)
|
set_frequency(new_frequency)
|
||||||
if(hidden_uplink)
|
if(hidden_uplink)
|
||||||
if(hidden_uplink.check_trigger(usr, frequency, traitor_frequency))
|
if(hidden_uplink.check_trigger(usr, frequency, traitor_frequency))
|
||||||
usr << browse(null, "window=radio")
|
usr << browse(null, "window=radio")
|
||||||
. = 1
|
. = 1
|
||||||
else if(href_list["talk"])
|
else if (href_list["talk"])
|
||||||
ToggleBroadcast()
|
ToggleBroadcast()
|
||||||
. = 1
|
. = 1
|
||||||
else if(href_list["listen"])
|
else if (href_list["listen"])
|
||||||
var/chan_name = href_list["ch_name"]
|
var/chan_name = href_list["ch_name"]
|
||||||
if(!chan_name)
|
if (!chan_name)
|
||||||
ToggleReception()
|
ToggleReception()
|
||||||
else
|
else
|
||||||
if(channels[chan_name] & FREQ_LISTENING)
|
if (channels[chan_name] & FREQ_LISTENING)
|
||||||
channels[chan_name] &= ~FREQ_LISTENING
|
channels[chan_name] &= ~FREQ_LISTENING
|
||||||
else
|
else
|
||||||
channels[chan_name] |= FREQ_LISTENING
|
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
|
/obj/item/device/radio/proc/autosay(var/message, var/from, var/channel, var/list/zlevels) //BS12 EDIT
|
||||||
var/datum/radio_frequency/connection = null
|
var/datum/radio_frequency/connection = null
|
||||||
if(channel && channels && channels.len > 0)
|
if(channel && channels && channels.len > 0)
|
||||||
<<<<<<< HEAD
|
|
||||||
if (channel == "department")
|
if (channel == "department")
|
||||||
=======
|
|
||||||
if(channel == "department")
|
|
||||||
//to_world("DEBUG: channel=\"[channel]\" switching to \"[channels[1]]\"")
|
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
channel = channels[1]
|
channel = channels[1]
|
||||||
connection = secure_radio_connections[channel]
|
connection = secure_radio_connections[channel]
|
||||||
else
|
else
|
||||||
connection = radio_connection
|
connection = radio_connection
|
||||||
channel = null
|
channel = null
|
||||||
if(!istype(connection))
|
if (!istype(connection))
|
||||||
return
|
return
|
||||||
|
|
||||||
if(!LAZYLEN(zlevels))
|
if(!LAZYLEN(zlevels))
|
||||||
@@ -308,13 +303,8 @@ var/global/list/default_medbay_channels = list(
|
|||||||
A.SetName(from)
|
A.SetName(from)
|
||||||
Broadcast_Message(connection, A,
|
Broadcast_Message(connection, A,
|
||||||
0, "*garbled automated announcement*", src,
|
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",
|
message_to_multilingual(message), from, "Automated Announcement", from, "synthesized voice",
|
||||||
4, 0, list(0), connection.frequency, "states")
|
4, 0, zlevels, connection.frequency, "states")
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
|
|
||||||
// Interprets the message mode when talking into a radio, possibly returning a connection datum
|
// 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)
|
/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.
|
// Otherwise, if a channel is specified, look for it.
|
||||||
if(channels && channels.len > 0)
|
if(channels && channels.len > 0)
|
||||||
if(message_mode == "department") // Department radio shortcut
|
if (message_mode == "department") // Department radio shortcut
|
||||||
message_mode = channels[1]
|
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]
|
return secure_radio_connections[message_mode]
|
||||||
|
|
||||||
// If we were to send to a channel we don't have, drop it.
|
// 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)
|
if(!M || !message_pieces)
|
||||||
return FALSE
|
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:
|
// 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
|
// 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)
|
if(RADIO_CONNECTION_NON_SUBSPACE)
|
||||||
return TRUE
|
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
|
return FALSE
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
var/pos_z = get_z(src)
|
|
||||||
=======
|
|
||||||
var/datum/radio_frequency/connection = message_mode
|
var/datum/radio_frequency/connection = message_mode
|
||||||
var/turf/position = get_turf(src)
|
var/pos_z = get_z(src)
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
|
|
||||||
//#### Tagging the signal with all appropriate identity values ####//
|
//#### 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"
|
var/jobname // the mob's "job"
|
||||||
|
|
||||||
// --- Human: use their actual job ---
|
// --- Human: use their actual job ---
|
||||||
if(ishuman(M))
|
if (ishuman(M))
|
||||||
var/mob/living/carbon/human/H = M
|
var/mob/living/carbon/human/H = M
|
||||||
jobname = H.get_assignment()
|
jobname = H.get_assignment()
|
||||||
|
|
||||||
// --- Carbon Nonhuman ---
|
// --- Carbon Nonhuman ---
|
||||||
else if(iscarbon(M)) // Nonhuman carbon mob
|
else if (iscarbon(M)) // Nonhuman carbon mob
|
||||||
jobname = "No id"
|
jobname = "No id"
|
||||||
|
|
||||||
// --- AI ---
|
// --- AI ---
|
||||||
else if(isAI(M))
|
else if (isAI(M))
|
||||||
jobname = "AI"
|
jobname = "AI"
|
||||||
|
|
||||||
// --- Cyborg ---
|
// --- Cyborg ---
|
||||||
else if(isrobot(M))
|
else if (isrobot(M))
|
||||||
jobname = "Cyborg"
|
jobname = "Cyborg"
|
||||||
|
|
||||||
// --- Personal AI (pAI) ---
|
// --- Personal AI (pAI) ---
|
||||||
else if(istype(M, /mob/living/silicon/pai))
|
else if (istype(M, /mob/living/silicon/pai))
|
||||||
jobname = "Personal AI"
|
jobname = "Personal AI"
|
||||||
|
|
||||||
// --- Unidentifiable mob ---
|
// --- Unidentifiable mob ---
|
||||||
@@ -421,7 +408,7 @@ var/global/list/default_medbay_channels = list(
|
|||||||
// --- Modifications to the mob's identity ---
|
// --- Modifications to the mob's identity ---
|
||||||
|
|
||||||
// The mob is disguising their identity:
|
// The mob is disguising their identity:
|
||||||
if(ishuman(M) && M.GetVoice() != real_name)
|
if (ishuman(M) && M.GetVoice() != real_name)
|
||||||
displayname = M.GetVoice()
|
displayname = M.GetVoice()
|
||||||
jobname = "Unknown"
|
jobname = "Unknown"
|
||||||
voicemask = 1
|
voicemask = 1
|
||||||
@@ -438,7 +425,7 @@ var/global/list/default_medbay_channels = list(
|
|||||||
"name" = displayname, // the mob's display name
|
"name" = displayname, // the mob's display name
|
||||||
"job" = jobname, // the mob's job
|
"job" = jobname, // the mob's job
|
||||||
"key" = mobkey, // the mob's key
|
"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
|
"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
|
"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:
|
// Other tags:
|
||||||
"compression" = rand(45,50), // compressed radio signal
|
"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
|
"connection" = connection, // the radio connection to use
|
||||||
"radio" = src, // stores the radio used for transmission
|
"radio" = src, // stores the radio used for transmission
|
||||||
"slow" = 0, // how much to sleep() before broadcasting - simulates net lag
|
"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
|
"server" = null, // the last server to log this signal
|
||||||
"reject" = 0, // if nonzero, the signal will not be accepted by any broadcasting machinery
|
"reject" = 0, // if nonzero, the signal will not be accepted by any broadcasting machinery
|
||||||
"level" = pos_z, // The source's z level
|
"level" = pos_z, // The source's z level
|
||||||
"language" = speaking,
|
|
||||||
"verb" = verb
|
"verb" = verb
|
||||||
)
|
)
|
||||||
signal.frequency = connection.frequency // Quick frequency set
|
signal.frequency = connection.frequency // Quick frequency set
|
||||||
@@ -490,48 +476,9 @@ var/global/list/default_medbay_channels = list(
|
|||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
// First, we want to generate a new radio signal
|
// First, we want to generate a new radio signal
|
||||||
<<<<<<< HEAD
|
|
||||||
signal.transmission_method = TRANSMISSION_SUBSPACE
|
signal.transmission_method = TRANSMISSION_SUBSPACE
|
||||||
|
|
||||||
//#### Sending the signal to all subspace receivers ####//
|
//#### 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)
|
for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
|
||||||
R.receive_signal(signal)
|
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
|
else if(adhoc_fallback) //Less huzzah, we have to fallback
|
||||||
to_chat(loc, "<span class='warning'>\The [src] pings as it falls back to local radio transmission.</span>")
|
to_chat(loc, "<span class='warning'>\The [src] pings as it falls back to local radio transmission.</span>")
|
||||||
subspace_transmission = FALSE
|
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
|
else //Oh well
|
||||||
return FALSE
|
return FALSE
|
||||||
@@ -578,25 +511,9 @@ var/global/list/default_medbay_channels = list(
|
|||||||
for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
|
for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
|
||||||
R.receive_signal(signal)
|
R.receive_signal(signal)
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
// Allinone can act as receivers.
|
// Allinone can act as receivers.
|
||||||
for(var/obj/machinery/telecomms/allinone/R in telecomms_list)
|
for(var/obj/machinery/telecomms/allinone/R in telecomms_list)
|
||||||
R.receive_signal(signal)
|
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)
|
for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
|
||||||
R.receive_signal(signal)
|
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.
|
//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),
|
return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote),
|
||||||
<<<<<<< HEAD
|
src, message_pieces, displayname, jobname, real_name, M.voice_name,
|
||||||
src, message, displayname, jobname, real_name, M.voice_name,
|
filter_type, signal.data["compression"], using_map.get_map_levels(pos_z), connection.frequency, verb)
|
||||||
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)
|
|
||||||
|
|
||||||
|
|
||||||
/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(broadcasting)
|
||||||
if(get_dist(src, M) <= canhear_range)
|
if(get_dist(src, M) <= canhear_range)
|
||||||
talk_into(M, message_pieces, null, verb)
|
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)
|
/obj/item/device/radio/proc/receive_range(freq, level)
|
||||||
// check if this radio can receive on the given frequency, and if so,
|
// check if this radio can receive on the given frequency, and if so,
|
||||||
// what the range is in which mobs will hear the radio
|
// what the range is in which mobs will hear the radio
|
||||||
// returns: -1 if can't receive, range otherwise
|
// returns: -1 if can't receive, range otherwise
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
|
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
if(wires.IsIndexCut(WIRE_RECEIVE))
|
if(wires.IsIndexCut(WIRE_RECEIVE))
|
||||||
return -1
|
return -1
|
||||||
if(!listening)
|
if(!listening)
|
||||||
@@ -665,20 +558,20 @@ var/global/list/default_medbay_channels = list(
|
|||||||
if(freq in CENT_FREQS)
|
if(freq in CENT_FREQS)
|
||||||
if(!(src.centComm))//Checks to see if it's allowed on that frequency, based on the encryption keys
|
if(!(src.centComm))//Checks to see if it's allowed on that frequency, based on the encryption keys
|
||||||
return -1
|
return -1
|
||||||
if(!on)
|
if (!on)
|
||||||
return -1
|
return -1
|
||||||
if(!freq) //recieved on main frequency
|
if (!freq) //recieved on main frequency
|
||||||
if(!listening)
|
if (!listening)
|
||||||
return -1
|
return -1
|
||||||
else
|
else
|
||||||
var/accept = (freq==frequency && listening)
|
var/accept = (freq==frequency && listening)
|
||||||
if(!accept)
|
if (!accept)
|
||||||
for (var/ch_name in channels)
|
for (var/ch_name in channels)
|
||||||
var/datum/radio_frequency/RF = secure_radio_connections[ch_name]
|
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
|
accept = 1
|
||||||
break
|
break
|
||||||
if(!accept)
|
if (!accept)
|
||||||
return -1
|
return -1
|
||||||
return canhear_range
|
return canhear_range
|
||||||
|
|
||||||
@@ -691,8 +584,8 @@ var/global/list/default_medbay_channels = list(
|
|||||||
|
|
||||||
/obj/item/device/radio/examine(mob/user)
|
/obj/item/device/radio/examine(mob/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
if((in_range(src, user) || loc == user))
|
if ((in_range(src, user) || loc == user))
|
||||||
if(b_stat)
|
if (b_stat)
|
||||||
user.show_message("<span class='notice'>\The [src] can be attached and modified!</span>")
|
user.show_message("<span class='notice'>\The [src] can be attached and modified!</span>")
|
||||||
else
|
else
|
||||||
user.show_message("<span class='notice'>\The [src] can not be modified or attached!</span>")
|
user.show_message("<span class='notice'>\The [src] can not be modified or attached!</span>")
|
||||||
@@ -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)
|
/obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
..()
|
..()
|
||||||
user.set_machine(src)
|
user.set_machine(src)
|
||||||
if(!W.is_screwdriver())
|
if (!W.is_screwdriver())
|
||||||
return
|
return
|
||||||
b_stat = !( b_stat )
|
b_stat = !( b_stat )
|
||||||
if(!istype(src, /obj/item/device/radio/beacon))
|
if(!istype(src, /obj/item/device/radio/beacon))
|
||||||
if(b_stat)
|
if (b_stat)
|
||||||
user.show_message("<span class='notice'>\The [src] can now be attached and modified!</span>")
|
user.show_message("<span class='notice'>\The [src] can now be attached and modified!</span>")
|
||||||
else
|
else
|
||||||
user.show_message("<span class='notice'>\The [src] can no longer be modified or attached!</span>")
|
user.show_message("<span class='notice'>\The [src] can no longer be modified or attached!</span>")
|
||||||
@@ -745,7 +638,7 @@ var/global/list/default_medbay_channels = list(
|
|||||||
|
|
||||||
/obj/item/device/radio/borg/talk_into()
|
/obj/item/device/radio/borg/talk_into()
|
||||||
. = ..()
|
. = ..()
|
||||||
if(isrobot(src.loc))
|
if (isrobot(src.loc))
|
||||||
var/mob/living/silicon/robot/R = src.loc
|
var/mob/living/silicon/robot/R = src.loc
|
||||||
var/datum/robot_component/C = R.components["radio"]
|
var/datum/robot_component/C = R.components["radio"]
|
||||||
R.cell_use_power(C.active_usage)
|
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)
|
/obj/item/device/radio/borg/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
// ..()
|
// ..()
|
||||||
user.set_machine(src)
|
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
|
return
|
||||||
|
|
||||||
if(W.is_screwdriver())
|
if(W.is_screwdriver())
|
||||||
@@ -827,7 +720,7 @@ var/global/list/default_medbay_channels = list(
|
|||||||
/obj/item/device/radio/borg/Topic(href, href_list)
|
/obj/item/device/radio/borg/Topic(href, href_list)
|
||||||
if(..())
|
if(..())
|
||||||
return TRUE
|
return TRUE
|
||||||
if(href_list["mode"])
|
if (href_list["mode"])
|
||||||
var/enable_subspace_transmission = text2num(href_list["mode"])
|
var/enable_subspace_transmission = text2num(href_list["mode"])
|
||||||
if(enable_subspace_transmission != subspace_transmission)
|
if(enable_subspace_transmission != subspace_transmission)
|
||||||
subspace_transmission = !subspace_transmission
|
subspace_transmission = !subspace_transmission
|
||||||
@@ -841,7 +734,7 @@ var/global/list/default_medbay_channels = list(
|
|||||||
else
|
else
|
||||||
recalculateChannels()
|
recalculateChannels()
|
||||||
. = 1
|
. = 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"])
|
var/do_shut_up = text2num(href_list["shutup"])
|
||||||
if(do_shut_up != shut_up)
|
if(do_shut_up != shut_up)
|
||||||
shut_up = !shut_up
|
shut_up = !shut_up
|
||||||
|
|||||||
@@ -60,12 +60,13 @@
|
|||||||
<b>Function:</b> Resizes the host whenever specific verbal command is received<BR>"}
|
<b>Function:</b> Resizes the host whenever specific verbal command is received<BR>"}
|
||||||
return dat
|
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)
|
if(M == imp_in)
|
||||||
return
|
return
|
||||||
if(owner)
|
if(owner)
|
||||||
if(M != owner)
|
if(M != owner)
|
||||||
return
|
return
|
||||||
|
var/msg = multilingual_to_message(message_pieces)
|
||||||
if(findtext(msg,"ignore"))
|
if(findtext(msg,"ignore"))
|
||||||
return
|
return
|
||||||
var/list/replacechars = list("'" = "",">" = "","<" = "","(" = "",")" = "", "~" = "")
|
var/list/replacechars = list("'" = "",">" = "","<" = "","(" = "",")" = "", "~" = "")
|
||||||
|
|||||||
@@ -741,11 +741,7 @@
|
|||||||
twitch_v, vomit, whimper, wink, yawn. Prometheans: squish Synthetics: beep, buzz, dwoop, yes, no, rcough, rsneeze, ping. Skrell: warble</span>")
|
twitch_v, vomit, whimper, wink, yawn. Prometheans: squish Synthetics: beep, buzz, dwoop, yes, no, rcough, rsneeze, ping. Skrell: warble</span>")
|
||||||
|
|
||||||
else
|
else
|
||||||
<<<<<<< HEAD
|
to_chat(src, "<span class='filter_say'><font color='blue'>Unusable emote '[act]'. Say *help or *vhelp for a list.</font></span>") //VOREStation Edit, mention *vhelp for Virgo-specific emotes located in emote_vr.dm.
|
||||||
to_chat(src, "<font color='blue'>Unusable emote '[act]'. Say *help or *vhelp for a list.</font>") //VOREStation Edit, mention *vhelp for Virgo-specific emotes located in emote_vr.dm.
|
|
||||||
=======
|
|
||||||
to_chat(src, "<span class='filter_say'><font color='blue'>Unusable emote '[act]'. Say *help for a list.</font></span>")
|
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
|
|
||||||
if(message)
|
if(message)
|
||||||
custom_emote(m_type,message)
|
custom_emote(m_type,message)
|
||||||
|
|||||||
@@ -2,12 +2,7 @@
|
|||||||
if(name != GetVoice())
|
if(name != GetVoice())
|
||||||
return " (as [get_id_name("Unknown")])"
|
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 ..()
|
return ..()
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
|
|
||||||
/mob/living/carbon/human/proc/forcesay(list/append)
|
/mob/living/carbon/human/proc/forcesay(list/append)
|
||||||
if(stat == CONSCIOUS)
|
if(stat == CONSCIOUS)
|
||||||
@@ -61,21 +56,6 @@
|
|||||||
if(!speaking)
|
if(!speaking)
|
||||||
if(istype(other, /mob/living/carbon/alien/diona))
|
if(istype(other, /mob/living/carbon/alien/diona))
|
||||||
if(other.languages.len >= 2) //They've sucked down some blood and can speak common now.
|
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
|
return TRUE
|
||||||
if(issilicon(other))
|
if(issilicon(other))
|
||||||
return TRUE
|
return TRUE
|
||||||
@@ -83,7 +63,6 @@
|
|||||||
return TRUE
|
return TRUE
|
||||||
if(isslime(other))
|
if(isslime(other))
|
||||||
return TRUE
|
return TRUE
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
|||||||
@@ -86,29 +86,6 @@ proc/get_radio_key_from_channel(var/channel)
|
|||||||
var/whispering = message_data[3]
|
var/whispering = message_data[3]
|
||||||
. = 0
|
. = 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_
|
// Technically this rerolls the verb for as many say pieces as there are. _shrug_
|
||||||
for(var/datum/multilingual_say_piece/S in message_pieces)
|
for(var/datum/multilingual_say_piece/S in message_pieces)
|
||||||
if(S.speaking && (S.speaking.flags & NO_STUTTER || S.speaking.flags & SIGNLANG))
|
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)
|
S.message = stutter(S.message)
|
||||||
verb = pick("stammers","stutters")
|
verb = pick("stammers","stutters")
|
||||||
. = 1
|
. = 1
|
||||||
|
//VOREStation Edit Start
|
||||||
|
if(muffled)
|
||||||
|
verb = pick("muffles")
|
||||||
|
whispering = 1
|
||||||
|
. = 1
|
||||||
|
//VOREStation Edit End
|
||||||
|
|
||||||
message_data[1] = message_pieces
|
message_data[1] = message_pieces
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
message_data[2] = verb
|
message_data[2] = verb
|
||||||
message_data[3] = whispering
|
message_data[3] = whispering
|
||||||
|
|
||||||
@@ -282,7 +264,6 @@ proc/get_radio_key_from_channel(var/channel)
|
|||||||
message_range = 1
|
message_range = 1
|
||||||
sound_vol *= 0.5
|
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"
|
//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
|
//You'll still stammer if injured or slur if drunk, but it won't have those specific words
|
||||||
var/ending = copytext(message, length(message))
|
var/ending = copytext(message, length(message))
|
||||||
@@ -297,22 +278,11 @@ proc/get_radio_key_from_channel(var/channel)
|
|||||||
verb = "[custom_say]"
|
verb = "[custom_say]"
|
||||||
//VOREStation edit ends
|
//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
|
//Handle nonverbal languages here
|
||||||
for(var/datum/multilingual_say_piece/S in message_pieces)
|
for(var/datum/multilingual_say_piece/S in message_pieces)
|
||||||
if(S.speaking.flags & NONVERBAL)
|
if(S.speaking.flags & NONVERBAL)
|
||||||
if(prob(30))
|
if(prob(30))
|
||||||
custom_emote(1, "[pick(S.speaking.signlang_verb)].")
|
custom_emote(1, "[pick(S.speaking.signlang_verb)].")
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
|
|
||||||
//These will contain the main receivers of the message
|
//These will contain the main receivers of the message
|
||||||
var/list/listening = list()
|
var/list/listening = list()
|
||||||
|
|||||||
@@ -120,13 +120,8 @@
|
|||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if("law")
|
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
|
||||||
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))
|
|
||||||
message = "<b>[src]</b> shows its legal authorization barcode."
|
message = "<b>[src]</b> shows its legal authorization barcode."
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
|
|
||||||
playsound(src.loc, 'sound/voice/biamthelaw.ogg', 50, 0)
|
playsound(src.loc, 'sound/voice/biamthelaw.ogg', 50, 0)
|
||||||
m_type = 2
|
m_type = 2
|
||||||
@@ -134,13 +129,8 @@
|
|||||||
to_chat(src, "You are not THE LAW, pal.")
|
to_chat(src, "You are not THE LAW, pal.")
|
||||||
|
|
||||||
if("halt")
|
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
|
||||||
if (istype(module,/obj/item/weapon/robot_module/robot/security) || istype(module,/obj/item/weapon/robot_module/robot/knine)) //VOREStation Add - K9
|
|
||||||
message = "<B>'s</B> speakers skreech, \"Halt! Security!\"."
|
|
||||||
=======
|
|
||||||
if(istype(module,/obj/item/weapon/robot_module/robot/security))
|
|
||||||
message = "<b>[src]</b> <B>'s</B> speakers skreech, \"Halt! Security!\"."
|
message = "<b>[src]</b> <B>'s</B> speakers skreech, \"Halt! Security!\"."
|
||||||
>>>>>>> 54a8a58... Saycode Overhaul -- Multilingualism (#6956)
|
|
||||||
|
|
||||||
playsound(src.loc, 'sound/voice/halt.ogg', 50, 0)
|
playsound(src.loc, 'sound/voice/halt.ogg', 50, 0)
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|||||||
@@ -61,23 +61,6 @@
|
|||||||
|
|
||||||
var/obj/machinery/hologram/holopad/T = src.holo
|
var/obj/machinery/hologram/holopad/T = src.holo
|
||||||
if(T && T.masters[src])//If there is a hologram and its master is the user.
|
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 = "<span class='game say'><span class='name'>[name]</span> [speaking.format_message(message, verb)]</span>"
|
|
||||||
rendered_b = "<span class='game say'><span class='name'>[voice_name]</span> [speaking.format_message(message_stars, verb)]</span>"
|
|
||||||
to_chat(src, "<i><span class='game say'>Holopad transmitted, <span class='name'>[real_name]</span> [speaking.format_message(message, verb)]</span></i>") //The AI can "hear" its own message.
|
|
||||||
else
|
|
||||||
rendered_a = "<span class='game say'><span class='name'>[name]</span> [verb], <span class='message'>\"[message]\"</span></span>"
|
|
||||||
rendered_b = "<span class='game say'><span class='name'>[voice_name]</span> [verb], <span class='message'>\"[message_stars]\"</span></span>"
|
|
||||||
to_chat(src, "<i><span class='game say'>Holopad transmitted, <span class='name'>[real_name]</span> [verb], <span class='message'><span class='body'>\"[message]\"</span></span></span></i>") //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/listeners = get_mobs_and_objs_in_view_fast(get_turf(T), world.view)
|
||||||
var/list/listening = listeners["mobs"]
|
var/list/listening = listeners["mobs"]
|
||||||
var/list/listening_obj = listeners["objs"]
|
var/list/listening_obj = listeners["objs"]
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
<<<<<<< HEAD
|
|
||||||
// Parrots can talk, and may repeat things it hears.
|
// Parrots can talk, and may repeat things it hears.
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot
|
/mob/living/simple_mob/animal/passive/bird/parrot
|
||||||
name = "parrot"
|
name = "parrot"
|
||||||
@@ -42,11 +41,11 @@
|
|||||||
return say(message)
|
return say(message)
|
||||||
|
|
||||||
// Ugly saycode so parrots can use their headsets.
|
// 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(message_mode)
|
||||||
if(my_headset && istype(my_headset, /obj/item/device/radio))
|
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
|
used_radios += my_headset
|
||||||
|
|
||||||
// Clicked on while holding an object.
|
// Clicked on while holding an object.
|
||||||
@@ -250,257 +249,4 @@
|
|||||||
if(holder.stat || !holder.say_list || !message || speaker == holder)
|
if(holder.stat || !holder.say_list || !message || speaker == holder)
|
||||||
return
|
return
|
||||||
var/datum/say_list/S = holder.say_list
|
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, "<span class='warning'>\The [src] doesn't have a headset to remove, thankfully.</span>")
|
|
||||||
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
|
S.speak |= message
|
||||||
@@ -605,7 +605,7 @@
|
|||||||
return ready && ..()
|
return ready && ..()
|
||||||
|
|
||||||
// Prevents lobby players from seeing say, even with ghostears
|
// 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
|
return
|
||||||
|
|
||||||
// Prevents lobby players from seeing emotes, even with ghosteyes
|
// Prevents lobby players from seeing emotes, even with ghosteyes
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
set category = "IC"
|
set category = "IC"
|
||||||
|
|
||||||
set_typing_indicator(FALSE)
|
set_typing_indicator(FALSE)
|
||||||
|
message = sanitize_or_reflect(message, src) //VOREStation Edit - Reflect too-long messages, within reason
|
||||||
usr.say(message)
|
usr.say(message)
|
||||||
|
|
||||||
/mob/verb/me_verb(message as text)
|
/mob/verb/me_verb(message as text)
|
||||||
|
|||||||
@@ -41,12 +41,12 @@
|
|||||||
return owner.examine(user, distance, infix, suffix)
|
return owner.examine(user, distance, infix, suffix)
|
||||||
|
|
||||||
// Relay some stuff they hear
|
// 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)
|
if(speaker && speaker.z != src.z)
|
||||||
return // Only relay speech on our acutal z, otherwise we might relay sounds that were themselves relayed up!
|
return // Only relay speech on our acutal z, otherwise we might relay sounds that were themselves relayed up!
|
||||||
if(isliving(owner))
|
if(isliving(owner))
|
||||||
verb += " from above"
|
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)
|
/mob/zshadow/proc/sync_icon(var/mob/M)
|
||||||
name = M.name
|
name = M.name
|
||||||
|
|||||||
@@ -58,17 +58,18 @@
|
|||||||
nif.save_data["commlink_name"] = owner
|
nif.save_data["commlink_name"] = owner
|
||||||
|
|
||||||
//So that only the owner's chat is relayed to others.
|
//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)
|
/obj/item/device/communicator/commlink/hear_talk(mob/living/M, list/message_pieces, verb)
|
||||||
if(M != nif.human) return
|
if(M != nif.human)
|
||||||
for(var/obj/item/device/communicator/comm in communicating)
|
return
|
||||||
|
|
||||||
|
for(var/obj/item/device/communicator/comm in communicating)
|
||||||
var/turf/T = get_turf(comm)
|
var/turf/T = get_turf(comm)
|
||||||
if(!T) return
|
if(!T) return
|
||||||
|
|
||||||
var/icon_object = src
|
var/icon_object = src
|
||||||
|
|
||||||
var/list/mobs_to_relay
|
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
|
var/obj/item/device/communicator/commlink/CL = comm
|
||||||
mobs_to_relay = list(CL.nif.human)
|
mobs_to_relay = list(CL.nif.human)
|
||||||
icon_object = CL.nif.big_icon
|
icon_object = CL.nif.big_icon
|
||||||
@@ -77,18 +78,10 @@
|
|||||||
mobs_to_relay = in_range["mobs"]
|
mobs_to_relay = in_range["mobs"]
|
||||||
|
|
||||||
for(var/mob/mob in mobs_to_relay)
|
for(var/mob/mob in mobs_to_relay)
|
||||||
//Can whoever is hearing us understand?
|
var/message = mob.combine_message(message_pieces, verb, M)
|
||||||
if(!mob.say_understands(M, speaking))
|
|
||||||
if(speaking)
|
|
||||||
text = speaking.scramble(text)
|
|
||||||
else
|
|
||||||
text = stars(text)
|
|
||||||
var/name_used = M.GetVoice()
|
var/name_used = M.GetVoice()
|
||||||
var/rendered = null
|
var/rendered = null
|
||||||
if(speaking) //Language being used
|
rendered = "<span class='game say'>[bicon(icon_object)] <span class='name'>[name_used]</span> [message]</span>"
|
||||||
rendered = "<span class='game say'>[bicon(icon_object)] <span class='name'>[name_used]</span> [speaking.format_message(text, verb)]</span>"
|
|
||||||
else
|
|
||||||
rendered = "<span class='game say'>[bicon(icon_object)] <span class='name'>[name_used]</span> [verb], <span class='message'>\"[text]\"</span></span>"
|
|
||||||
mob.show_message(rendered, 2)
|
mob.show_message(rendered, 2)
|
||||||
|
|
||||||
//Not supported by the internal one
|
//Not supported by the internal one
|
||||||
|
|||||||
@@ -472,10 +472,6 @@
|
|||||||
var/obj/item/weapon/grab/G = W
|
var/obj/item/weapon/grab/G = W
|
||||||
if(!ismob(G.affecting))
|
if(!ismob(G.affecting))
|
||||||
return
|
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
|
var/mob/M = G.affecting
|
||||||
if(put_mob(M))
|
if(put_mob(M))
|
||||||
qdel(G)
|
qdel(G)
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ datum/signal
|
|||||||
newsign.data["realname"] = newsign.data["name"]
|
newsign.data["realname"] = newsign.data["name"]
|
||||||
newsign.data["job"] = job
|
newsign.data["job"] = job
|
||||||
newsign.data["compression"] = 0
|
newsign.data["compression"] = 0
|
||||||
newsign.data["message"] = message
|
newsign.data["message"] = message_to_multilingual(message)
|
||||||
newsign.data["type"] = 2 // artificial broadcast
|
newsign.data["type"] = 2 // artificial broadcast
|
||||||
if(!isnum(freq))
|
if(!isnum(freq))
|
||||||
freq = text2num(freq)
|
freq = text2num(freq)
|
||||||
@@ -264,7 +264,7 @@ datum/signal
|
|||||||
|
|
||||||
|
|
||||||
newsign.data["radio"] = hradio
|
newsign.data["radio"] = hradio
|
||||||
newsign.data["vmessage"] = message
|
newsign.data["vmessage"] = message_to_multilingual(message)
|
||||||
newsign.data["vname"] = source
|
newsign.data["vname"] = source
|
||||||
newsign.data["vmask"] = 0
|
newsign.data["vmask"] = 0
|
||||||
newsign.data["level"] = list()
|
newsign.data["level"] = list()
|
||||||
|
|||||||
@@ -112,27 +112,11 @@ Divergence proc, used in mutation to make unique datums.
|
|||||||
/mob/living/simple_mob/xeno/proc/RandomizeTraits()
|
/mob/living/simple_mob/xeno/proc/RandomizeTraits()
|
||||||
return
|
return
|
||||||
|
|
||||||
<<<<<<< HEAD
|
/mob/living/simple_mob/xeno/hear_say(var/list/message_pieces, var/verb = "says", var/italics = 0, var/mob/speaker = null)
|
||||||
/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)
|
|
||||||
if(traitdat.traits[TRAIT_XENO_CANLEARN])
|
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))
|
if(!(message in speak))
|
||||||
speech_buffer.Add(message)
|
speech_buffer.Add(multilingual_to_message(message_pieces))
|
||||||
..(message,verb,language,italics,speaker)
|
. = ..()
|
||||||
|
|
||||||
/mob/living/simple_mob/xeno/proc/ProcessSpeechBuffer()
|
/mob/living/simple_mob/xeno/proc/ProcessSpeechBuffer()
|
||||||
if(speech_buffer.len)
|
if(speech_buffer.len)
|
||||||
|
|||||||
@@ -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_powers.dm"
|
||||||
#include "code\modules\mob\living\carbon\human\species\xenomorphs\alien_species.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\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\death.dm"
|
||||||
#include "code\modules\mob\living\silicon\emote.dm"
|
#include "code\modules\mob\living\silicon\emote.dm"
|
||||||
#include "code\modules\mob\living\silicon\laws.dm"
|
#include "code\modules\mob\living\silicon\laws.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user