April sync (#360)
* Maps and things no code/icons * helpers defines globalvars * Onclick world.dm orphaned_procs * subsystems Round vote and shuttle autocall done here too * datums * Game folder * Admin - chatter modules * clothing - mining * modular computers - zambies * client * mob level 1 * mob stage 2 + simple_animal * silicons n brains * mob stage 3 + Alien/Monkey * human mobs * icons updated * some sounds * emitter y u no commit * update tgstation.dme * compile fixes * travis fixes Also removes Fast digest mode, because reasons. * tweaks for travis Mentors are broke again Also fixes Sizeray guns * oxygen loss fix for vore code. * removes unused code * some code updates * bulk fixes * further fixes * outside things * whoops. * Maint bar ported * GLOBs.
This commit is contained in:
@@ -58,7 +58,7 @@
|
||||
var/vmask, var/obj/item/device/radio/radio,
|
||||
var/message, var/name, var/job, var/realname,
|
||||
var/data, var/compression, var/list/level, var/freq, var/list/spans,
|
||||
var/verb_say, var/verb_ask, var/verb_exclaim, var/verb_yell)
|
||||
var/verb_say, var/verb_ask, var/verb_exclaim, var/verb_yell, var/datum/language/language)
|
||||
|
||||
message = copytext(message, 1, MAX_BROADCAST_LEN)
|
||||
|
||||
@@ -70,8 +70,6 @@
|
||||
var/atom/movable/virtualspeaker/virt = new /atom/movable/virtualspeaker(null)
|
||||
virt.name = name
|
||||
virt.job = job
|
||||
virt.languages_spoken = AM.languages_spoken
|
||||
virt.languages_understood = AM.languages_understood
|
||||
virt.source = AM
|
||||
virt.radio = radio
|
||||
virt.verb_say = verb_say
|
||||
@@ -85,7 +83,7 @@
|
||||
// --- Broadcast only to intercom devices ---
|
||||
|
||||
if(data == 1)
|
||||
for(var/obj/item/device/radio/intercom/R in all_radios["[freq]"])
|
||||
for(var/obj/item/device/radio/intercom/R in GLOB.all_radios["[freq]"])
|
||||
if(R.receive_range(freq, level) > -1)
|
||||
radios += R
|
||||
|
||||
@@ -93,7 +91,7 @@
|
||||
|
||||
else if(data == 2)
|
||||
|
||||
for(var/obj/item/device/radio/R in all_radios["[freq]"])
|
||||
for(var/obj/item/device/radio/R in GLOB.all_radios["[freq]"])
|
||||
if(R.subspace_transmission)
|
||||
continue
|
||||
|
||||
@@ -106,8 +104,8 @@
|
||||
|
||||
else if(data == 5)
|
||||
|
||||
for(var/obj/item/device/radio/R in all_radios["[freq]"])
|
||||
if(!R.centcom)
|
||||
for(var/obj/item/device/radio/R in GLOB.all_radios["[freq]"])
|
||||
if(!R.independent)
|
||||
continue
|
||||
|
||||
if(R.receive_range(freq, level) > -1)
|
||||
@@ -116,13 +114,13 @@
|
||||
// --- Broadcast to ALL radio devices ---
|
||||
|
||||
else
|
||||
for(var/obj/item/device/radio/R in all_radios["[freq]"])
|
||||
for(var/obj/item/device/radio/R in GLOB.all_radios["[freq]"])
|
||||
if(R.receive_range(freq, level) > -1)
|
||||
radios += R
|
||||
|
||||
var/freqtext = num2text(freq)
|
||||
for(var/obj/item/device/radio/R in all_radios["[SYND_FREQ]"]) //syndicate radios use magic that allows them to hear everything. this was already the case, now it just doesn't need the allinone anymore. solves annoying bugs that aren't worth solving.
|
||||
if(R.receive_range(SYND_FREQ, list(R.z)) > -1 && freqtext in radiochannelsreverse)
|
||||
for(var/obj/item/device/radio/R in GLOB.all_radios["[GLOB.SYND_FREQ]"]) //syndicate radios use magic that allows them to hear everything. this was already the case, now it just doesn't need the allinone anymore. solves annoying bugs that aren't worth solving.
|
||||
if(R.receive_range(GLOB.SYND_FREQ, list(R.z)) > -1 && freqtext in GLOB.reverseradiochannels)
|
||||
radios |= R
|
||||
|
||||
// Get a list of mobs who can hear from the radios we collected.
|
||||
@@ -132,278 +130,46 @@
|
||||
if (R.client && R.client.holder && !(R.client.prefs.chat_toggles & CHAT_RADIO)) //Adminning with 80 people on can be fun when you're trying to talk and all you can hear is radios.
|
||||
receive -= R
|
||||
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(isobserver(M) && M.client && (M.client.prefs.chat_toggles & CHAT_GHOSTRADIO))
|
||||
receive |= M
|
||||
|
||||
var/rendered = virt.compose_message(virt, virt.languages_spoken, message, freq, spans) //Always call this on the virtualspeaker to advoid issues.
|
||||
var/rendered = virt.compose_message(virt, language, message, freq, spans) //Always call this on the virtualspeaker to advoid issues.
|
||||
for(var/atom/movable/hearer in receive)
|
||||
hearer.Hear(rendered, virt, AM.languages_spoken, message, freq, spans)
|
||||
hearer.Hear(rendered, virt, language, message, freq, spans)
|
||||
|
||||
if(length(receive))
|
||||
// --- This following recording is intended for research and feedback in the use of department radio channels ---
|
||||
|
||||
var/blackbox_msg = "[AM] [AM.say_quote(message, spans)]"
|
||||
if(istype(blackbox))
|
||||
if(istype(GLOB.blackbox))
|
||||
switch(freq)
|
||||
if(1459)
|
||||
blackbox.msg_common += blackbox_msg
|
||||
GLOB.blackbox.msg_common += blackbox_msg
|
||||
if(1351)
|
||||
blackbox.msg_science += blackbox_msg
|
||||
GLOB.blackbox.msg_science += blackbox_msg
|
||||
if(1353)
|
||||
blackbox.msg_command += blackbox_msg
|
||||
GLOB.blackbox.msg_command += blackbox_msg
|
||||
if(1355)
|
||||
blackbox.msg_medical += blackbox_msg
|
||||
GLOB.blackbox.msg_medical += blackbox_msg
|
||||
if(1357)
|
||||
blackbox.msg_engineering += blackbox_msg
|
||||
GLOB.blackbox.msg_engineering += blackbox_msg
|
||||
if(1359)
|
||||
blackbox.msg_security += blackbox_msg
|
||||
GLOB.blackbox.msg_security += blackbox_msg
|
||||
if(1441)
|
||||
blackbox.msg_deathsquad += blackbox_msg
|
||||
GLOB.blackbox.msg_deathsquad += blackbox_msg
|
||||
if(1213)
|
||||
blackbox.msg_syndicate += blackbox_msg
|
||||
GLOB.blackbox.msg_syndicate += blackbox_msg
|
||||
if(1349)
|
||||
blackbox.msg_service += blackbox_msg
|
||||
GLOB.blackbox.msg_service += blackbox_msg
|
||||
if(1347)
|
||||
blackbox.msg_cargo += blackbox_msg
|
||||
GLOB.blackbox.msg_cargo += blackbox_msg
|
||||
else
|
||||
blackbox.messages += blackbox_msg
|
||||
GLOB.blackbox.messages += blackbox_msg
|
||||
|
||||
spawn(50)
|
||||
qdel(virt)
|
||||
|
||||
/proc/Broadcast_SimpleMessage(source, frequency, text, data, mob/M, compression, level)
|
||||
|
||||
/* ###### Prepare the radio connection ###### */
|
||||
|
||||
if(!M)
|
||||
var/mob/living/carbon/human/H = new
|
||||
M = H
|
||||
|
||||
var/datum/radio_frequency/connection = SSradio.return_frequency(frequency)
|
||||
|
||||
var/display_freq = connection.frequency
|
||||
|
||||
var/list/receive = list()
|
||||
|
||||
|
||||
// --- Broadcast only to intercom devices ---
|
||||
|
||||
if(data == 1)
|
||||
for (var/obj/item/device/radio/intercom/R in connection.devices["[RADIO_CHAT]"])
|
||||
var/turf/position = get_turf(R)
|
||||
if(position && position.z == level)
|
||||
receive |= R.send_hear(display_freq, level)
|
||||
|
||||
|
||||
// --- Broadcast only to intercoms and station-bounced radios ---
|
||||
|
||||
else if(data == 2)
|
||||
for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"])
|
||||
if(R.subspace_transmission)
|
||||
continue
|
||||
var/turf/position = get_turf(R)
|
||||
if(position && position.z == level)
|
||||
receive |= R.send_hear(display_freq)
|
||||
|
||||
|
||||
// --- Broadcast to syndicate radio! ---
|
||||
|
||||
else if(data == 3)
|
||||
var/datum/radio_frequency/syndicateconnection = SSradio.return_frequency(SYND_FREQ)
|
||||
|
||||
for (var/obj/item/device/radio/R in syndicateconnection.devices["[RADIO_CHAT]"])
|
||||
var/turf/position = get_turf(R)
|
||||
if(position && position.z == level)
|
||||
receive |= R.send_hear(SYND_FREQ)
|
||||
|
||||
// --- Centcom radio, yo. ---
|
||||
|
||||
else if(data == 5)
|
||||
|
||||
for(var/obj/item/device/radio/R in all_radios["[RADIO_CHAT]"])
|
||||
if(R.centcom)
|
||||
receive |= R.send_hear(CENTCOM_FREQ)
|
||||
|
||||
// --- Broadcast to ALL radio devices ---
|
||||
|
||||
else
|
||||
for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"])
|
||||
var/turf/position = get_turf(R)
|
||||
if(position && position.z == level)
|
||||
receive |= R.send_hear(display_freq)
|
||||
|
||||
|
||||
/* ###### Organize the receivers into categories for displaying the message ###### */
|
||||
|
||||
// Understood the message:
|
||||
var/list/heard_normal = list() // normal message
|
||||
|
||||
// Did not understand the message:
|
||||
var/list/heard_garbled = list() // garbled message (ie "f*c* **u, **i*er!")
|
||||
var/list/heard_gibberish= list() // completely screwed over message (ie "F%! (O*# *#!<>&**%!")
|
||||
|
||||
for (var/mob/R in receive)
|
||||
|
||||
/* --- Loop through the receivers and categorize them --- */
|
||||
|
||||
if (R.client && !(R.client.prefs.chat_toggles & CHAT_RADIO)) //Adminning with 80 people on can be fun when you're trying to talk and all you can hear is radios.
|
||||
continue
|
||||
|
||||
|
||||
// --- Check for compression ---
|
||||
if(compression > 0)
|
||||
|
||||
heard_gibberish += R
|
||||
continue
|
||||
|
||||
// --- Can understand the speech ---
|
||||
|
||||
if (R.languages_understood & M.languages_spoken)
|
||||
|
||||
heard_normal += R
|
||||
|
||||
// --- Can't understand the speech ---
|
||||
|
||||
else
|
||||
// - Just display a garbled message -
|
||||
|
||||
heard_garbled += R
|
||||
|
||||
|
||||
/* ###### Begin formatting and sending the message ###### */
|
||||
if (length(heard_normal) || length(heard_garbled) || length(heard_gibberish))
|
||||
|
||||
/* --- Some miscellaneous variables to format the string output --- */
|
||||
var/part_a = "<span class='radio'><span class='name'>" // goes in the actual output
|
||||
var/freq_text // the name of the channel
|
||||
|
||||
// --- Set the name of the channel ---
|
||||
switch(display_freq)
|
||||
|
||||
if(SYND_FREQ)
|
||||
freq_text = "#unkn"
|
||||
if(COMM_FREQ)
|
||||
freq_text = "Command"
|
||||
if(SCI_FREQ)
|
||||
freq_text = "Science"
|
||||
if(MED_FREQ)
|
||||
freq_text = "Medical"
|
||||
if(ENG_FREQ)
|
||||
freq_text = "Engineering"
|
||||
if(SEC_FREQ)
|
||||
freq_text = "Security"
|
||||
if(SERV_FREQ)
|
||||
freq_text = "Service"
|
||||
if(SUPP_FREQ)
|
||||
freq_text = "Supply"
|
||||
if(AIPRIV_FREQ)
|
||||
freq_text = "AI Private"
|
||||
//There's probably a way to use the list var of channels in code\game\communications.dm to make the dept channels non-hardcoded, but I wasn't in an experimentive mood. --NEO
|
||||
|
||||
|
||||
// --- If the frequency has not been assigned a name, just use the frequency as the name ---
|
||||
|
||||
if(!freq_text)
|
||||
freq_text = format_frequency(display_freq)
|
||||
|
||||
// --- Some more pre-message formatting ---
|
||||
|
||||
var/part_b_extra = ""
|
||||
if(data == 3) // intercepted radio message
|
||||
part_b_extra = " <i>(Intercepted)</i>"
|
||||
|
||||
// Create a radio headset for the sole purpose of using its icon
|
||||
var/obj/item/device/radio/headset/radio = new
|
||||
|
||||
var/part_b = "</span><b> \icon[radio]\[[freq_text]\][part_b_extra]</b> <span class='message'>"
|
||||
var/part_c = "</span></span>"
|
||||
|
||||
if (display_freq==SYND_FREQ)
|
||||
part_a = "<span class='syndradio'><span class='name'>"
|
||||
else if (display_freq==COMM_FREQ)
|
||||
part_a = "<span class='comradio'><span class='name'>"
|
||||
else if (display_freq==SCI_FREQ)
|
||||
part_a = "<span class='sciradio'><span class='name'>"
|
||||
else if (display_freq==MED_FREQ)
|
||||
part_a = "<span class='medradio'><span class='name'>"
|
||||
else if (display_freq==ENG_FREQ)
|
||||
part_a = "<span class='engradio'><span class='name'>"
|
||||
else if (display_freq==SEC_FREQ)
|
||||
part_a = "<span class='secradio'><span class='name'>"
|
||||
else if (display_freq==SERV_FREQ)
|
||||
part_a = "<span class='servradio'><span class='name'>"
|
||||
else if (display_freq==SUPP_FREQ)
|
||||
part_a = "<span class='suppradio'><span class='name'>"
|
||||
else if (display_freq==CENTCOM_FREQ)
|
||||
part_a = "<span class='centcomradio'><span class='name'>"
|
||||
else if (display_freq==AIPRIV_FREQ)
|
||||
part_a = "<span class='aiprivradio'><span class='name'>"
|
||||
|
||||
// --- This following recording is intended for research and feedback in the use of department radio channels ---
|
||||
|
||||
var/part_blackbox_b = "</span><b> \[[freq_text]\]</b> <span class='message'>"
|
||||
var/blackbox_msg = "[part_a][source][part_blackbox_b]\"[text]\"[part_c]"
|
||||
//var/blackbox_admin_msg = "[part_a][M.name] (Real name: [M.real_name])[part_blackbox_b][quotedmsg][part_c]"
|
||||
|
||||
//BR.messages_admin += blackbox_admin_msg
|
||||
if(istype(blackbox))
|
||||
switch(display_freq)
|
||||
if(1459)
|
||||
blackbox.msg_common += blackbox_msg
|
||||
if(1351)
|
||||
blackbox.msg_science += blackbox_msg
|
||||
if(1353)
|
||||
blackbox.msg_command += blackbox_msg
|
||||
if(1355)
|
||||
blackbox.msg_medical += blackbox_msg
|
||||
if(1357)
|
||||
blackbox.msg_engineering += blackbox_msg
|
||||
if(1359)
|
||||
blackbox.msg_security += blackbox_msg
|
||||
if(1441)
|
||||
blackbox.msg_deathsquad += blackbox_msg
|
||||
if(1213)
|
||||
blackbox.msg_syndicate += blackbox_msg
|
||||
if(1349)
|
||||
blackbox.msg_service += blackbox_msg
|
||||
if(1347)
|
||||
blackbox.msg_cargo += blackbox_msg
|
||||
else
|
||||
blackbox.messages += blackbox_msg
|
||||
|
||||
//End of research and feedback code.
|
||||
|
||||
/* ###### Send the message ###### */
|
||||
|
||||
/* --- Process all the mobs that heard the voice normally (understood) --- */
|
||||
|
||||
if (length(heard_normal))
|
||||
var/rendered = "[part_a][source][part_b]\"[text]\"[part_c]"
|
||||
|
||||
for (var/mob/R in heard_normal)
|
||||
R.show_message(rendered, 2)
|
||||
|
||||
/* --- Process all the mobs that heard a garbled voice (did not understand) --- */
|
||||
// Displays garbled message (ie "f*c* **u, **i*er!")
|
||||
|
||||
if (length(heard_garbled))
|
||||
var/quotedmsg = "\"[stars(text)]\""
|
||||
var/rendered = "[part_a][source][part_b][quotedmsg][part_c]"
|
||||
|
||||
for (var/mob/R in heard_garbled)
|
||||
R.show_message(rendered, 2)
|
||||
|
||||
|
||||
/* --- Complete gibberish. Usually happens when there's a compressed message --- */
|
||||
|
||||
if (length(heard_gibberish))
|
||||
var/quotedmsg = "\"[Gibberish(text, compression + 50)]\""
|
||||
var/rendered = "[part_a][Gibberish(source, compression + 50)][part_b][quotedmsg][part_c]"
|
||||
|
||||
for (var/mob/R in heard_gibberish)
|
||||
R.show_message(rendered, 2)
|
||||
|
||||
//Use this to test if an obj can communicate with a Telecommunications Network
|
||||
|
||||
/atom/proc/test_telecomms()
|
||||
@@ -432,7 +198,7 @@
|
||||
signal.frequency = 1459// Common channel
|
||||
|
||||
//#### Sending the signal to all subspace receivers ####//
|
||||
for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
|
||||
for(var/obj/machinery/telecomms/receiver/R in GLOB.telecomms_list)
|
||||
R.receive_signal(signal)
|
||||
|
||||
sleep(rand(10,25))
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
var/universal_translate = 0 // set to 1 if it can translate nonhuman speech
|
||||
|
||||
req_access = list(access_tcomsat)
|
||||
req_access = list(GLOB.access_tcomsat)
|
||||
circuit = /obj/item/weapon/circuitboard/computer/comm_server
|
||||
|
||||
/obj/machinery/computer/telecomms/server/attack_hand(mob/user)
|
||||
|
||||
@@ -256,7 +256,7 @@
|
||||
if(newfreq && canAccess(usr))
|
||||
if(findtext(num2text(newfreq), "."))
|
||||
newfreq *= 10 // shift the decimal one place
|
||||
if(newfreq == SYND_FREQ)
|
||||
if(newfreq == GLOB.SYND_FREQ)
|
||||
temp = "<font color = #FF0000>-% Error: Interference preventing filtering frequency: \"[newfreq] GHz\" %-</font color>"
|
||||
else
|
||||
if(!(newfreq in freq_listening) && newfreq < 10000)
|
||||
|
||||
@@ -33,13 +33,14 @@
|
||||
sleep(signal.data["slow"]) // simulate the network lag if necessary
|
||||
|
||||
/* ###### Broadcast a message using signal.data ###### */
|
||||
if(signal.frequency == SYND_FREQ) // if syndicate broadcast, just
|
||||
if(signal.frequency == GLOB.SYND_FREQ) // if syndicate broadcast, just
|
||||
Broadcast_Message(signal.data["mob"],
|
||||
signal.data["vmask"],
|
||||
signal.data["radio"], signal.data["message"],
|
||||
signal.data["name"], signal.data["job"],
|
||||
signal.data["realname"],, signal.data["compression"], list(0, z), signal.frequency, signal.data["spans"],
|
||||
signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"])
|
||||
signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"],
|
||||
signal.data["language"])
|
||||
|
||||
/obj/machinery/telecomms/allinone/attackby(obj/item/P, mob/user, params)
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
They receive their message from a server after the message has been logged.
|
||||
*/
|
||||
|
||||
var/list/recentmessages = list() // global list of recent messages broadcasted : used to circumvent massive radio spam
|
||||
var/message_delay = 0 // To make sure restarting the recentmessages list is kept in sync
|
||||
GLOBAL_LIST_EMPTY(recentmessages) // global list of recent messages broadcasted : used to circumvent massive radio spam
|
||||
GLOBAL_VAR_INIT(message_delay, 0) // To make sure restarting the recentmessages list is kept in sync
|
||||
|
||||
/obj/machinery/telecomms/broadcaster
|
||||
name = "subspace broadcaster"
|
||||
@@ -38,9 +38,9 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
original.data["level"] = signal.data["level"]
|
||||
|
||||
var/signal_message = "[signal.frequency]:[signal.data["message"]]:[signal.data["realname"]]"
|
||||
if(signal_message in recentmessages)
|
||||
if(signal_message in GLOB.recentmessages)
|
||||
return
|
||||
recentmessages.Add(signal_message)
|
||||
GLOB.recentmessages.Add(signal_message)
|
||||
|
||||
if(signal.data["slow"] > 0)
|
||||
sleep(signal.data["slow"]) // simulate the network lag if necessary
|
||||
@@ -56,17 +56,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
signal.data["vmask"], signal.data["radio"],
|
||||
signal.data["message"], signal.data["name"], signal.data["job"], signal.data["realname"],
|
||||
0, signal.data["compression"], signal.data["level"], signal.frequency, signal.data["spans"],
|
||||
signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"])
|
||||
|
||||
|
||||
/** #### - Simple Broadcast - #### **/
|
||||
|
||||
if(signal.data["type"] == 1)
|
||||
|
||||
/* ###### Broadcast a message using signal.data ###### */
|
||||
Broadcast_SimpleMessage(signal.data["name"], signal.frequency,
|
||||
signal.data["message"],null, null,
|
||||
signal.data["compression"], listening_level)
|
||||
signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"], signal.data["language"])
|
||||
|
||||
|
||||
/** #### - Artificial Broadcast - #### **/
|
||||
@@ -81,13 +71,13 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
signal.data["radio"], signal.data["message"],
|
||||
signal.data["name"], signal.data["job"],
|
||||
signal.data["realname"], 4, signal.data["compression"], signal.data["level"], signal.frequency, signal.data["spans"],
|
||||
signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"])
|
||||
signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"], signal.data["language"])
|
||||
|
||||
if(!message_delay)
|
||||
message_delay = 1
|
||||
if(!GLOB.message_delay)
|
||||
GLOB.message_delay = 1
|
||||
spawn(10)
|
||||
message_delay = 0
|
||||
recentmessages = list()
|
||||
GLOB.message_delay = 0
|
||||
GLOB.recentmessages = list()
|
||||
|
||||
/* --- Do a snazzy animation! --- */
|
||||
flick("broadcaster_send", src)
|
||||
@@ -110,8 +100,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
|
||||
/obj/machinery/telecomms/broadcaster/Destroy()
|
||||
// In case message_delay is left on 1, otherwise it won't reset the list and people can't say the same thing twice anymore.
|
||||
if(message_delay)
|
||||
message_delay = 0
|
||||
if(GLOB.message_delay)
|
||||
GLOB.message_delay = 0
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -133,4 +123,4 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
autolinkers = list("broadcasterB")
|
||||
|
||||
/obj/machinery/telecomms/broadcaster/preset_left/birdstation
|
||||
name = "Broadcaster"
|
||||
name = "Broadcaster"
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
if(is_freq_listening(signal))
|
||||
if(change_frequency)
|
||||
if(signal.frequency != SYND_FREQ)
|
||||
if(signal.frequency != GLOB.SYND_FREQ)
|
||||
signal.frequency = change_frequency
|
||||
|
||||
if(!istype(machine_from, /obj/machinery/telecomms/processor) && machine_from != src) // Signal must be ready (stupid assuming machine), let's send it
|
||||
@@ -72,25 +72,25 @@
|
||||
/obj/machinery/telecomms/bus/preset_one
|
||||
id = "Bus 1"
|
||||
network = "tcommsat"
|
||||
freq_listening = list(SCI_FREQ, MED_FREQ)
|
||||
freq_listening = list(GLOB.SCI_FREQ, GLOB.MED_FREQ)
|
||||
autolinkers = list("processor1", "science", "medical")
|
||||
|
||||
/obj/machinery/telecomms/bus/preset_two
|
||||
id = "Bus 2"
|
||||
network = "tcommsat"
|
||||
freq_listening = list(SUPP_FREQ,SERV_FREQ)
|
||||
freq_listening = list(GLOB.SUPP_FREQ,GLOB.SERV_FREQ)
|
||||
autolinkers = list("processor2", "supply", "service")
|
||||
|
||||
/obj/machinery/telecomms/bus/preset_three
|
||||
id = "Bus 3"
|
||||
network = "tcommsat"
|
||||
freq_listening = list(SEC_FREQ, COMM_FREQ)
|
||||
freq_listening = list(GLOB.SEC_FREQ, GLOB.COMM_FREQ)
|
||||
autolinkers = list("processor3", "security", "command")
|
||||
|
||||
/obj/machinery/telecomms/bus/preset_four
|
||||
id = "Bus 4"
|
||||
network = "tcommsat"
|
||||
freq_listening = list(ENG_FREQ)
|
||||
freq_listening = list(GLOB.ENG_FREQ)
|
||||
autolinkers = list("processor4", "engineering", "common")
|
||||
|
||||
/obj/machinery/telecomms/bus/preset_four/New()
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
id = "Receiver A"
|
||||
network = "tcommsat"
|
||||
autolinkers = list("receiverA") // link to relay
|
||||
freq_listening = list(SCI_FREQ, MED_FREQ, SUPP_FREQ, SERV_FREQ) // science, medical, supply, service
|
||||
freq_listening = list(GLOB.SCI_FREQ, GLOB.MED_FREQ, GLOB.SUPP_FREQ, GLOB.SERV_FREQ) // science, medical, supply, service
|
||||
|
||||
|
||||
//--PRESET RIGHT--//
|
||||
@@ -86,7 +86,7 @@
|
||||
id = "Receiver B"
|
||||
network = "tcommsat"
|
||||
autolinkers = list("receiverB") // link to relay
|
||||
freq_listening = list(COMM_FREQ, ENG_FREQ, SEC_FREQ) //command, engineering, security
|
||||
freq_listening = list(GLOB.COMM_FREQ, GLOB.ENG_FREQ, GLOB.SEC_FREQ) //command, engineering, security
|
||||
|
||||
//Common and other radio frequencies for people to freely use
|
||||
/obj/machinery/telecomms/receiver/preset_right/New()
|
||||
|
||||
@@ -72,7 +72,8 @@
|
||||
log.parameters["name"] = signal.data["name"]
|
||||
log.parameters["realname"] = signal.data["realname"]
|
||||
|
||||
log.parameters["uspeech"] = signal.data["languages"] & HUMAN //good enough
|
||||
//log.parameters["uspeech"] = signal.data["languages"] & HUMAN //good enough
|
||||
// TODO languages: ^ I don't know what this does
|
||||
|
||||
// If the signal is still compressed, make the log entry gibberish
|
||||
if(signal.data["compression"] > 0)
|
||||
@@ -141,22 +142,22 @@
|
||||
|
||||
/obj/machinery/telecomms/server/presets/science
|
||||
id = "Science Server"
|
||||
freq_listening = list(SCI_FREQ)
|
||||
freq_listening = list(GLOB.SCI_FREQ)
|
||||
autolinkers = list("science")
|
||||
|
||||
/obj/machinery/telecomms/server/presets/medical
|
||||
id = "Medical Server"
|
||||
freq_listening = list(MED_FREQ)
|
||||
freq_listening = list(GLOB.MED_FREQ)
|
||||
autolinkers = list("medical")
|
||||
|
||||
/obj/machinery/telecomms/server/presets/supply
|
||||
id = "Supply Server"
|
||||
freq_listening = list(SUPP_FREQ)
|
||||
freq_listening = list(GLOB.SUPP_FREQ)
|
||||
autolinkers = list("supply")
|
||||
|
||||
/obj/machinery/telecomms/server/presets/service
|
||||
id = "Service Server"
|
||||
freq_listening = list(SERV_FREQ)
|
||||
freq_listening = list(GLOB.SERV_FREQ)
|
||||
autolinkers = list("service")
|
||||
|
||||
/obj/machinery/telecomms/server/presets/common
|
||||
@@ -173,19 +174,19 @@
|
||||
|
||||
/obj/machinery/telecomms/server/presets/command
|
||||
id = "Command Server"
|
||||
freq_listening = list(COMM_FREQ)
|
||||
freq_listening = list(GLOB.COMM_FREQ)
|
||||
autolinkers = list("command")
|
||||
|
||||
/obj/machinery/telecomms/server/presets/engineering
|
||||
id = "Engineering Server"
|
||||
freq_listening = list(ENG_FREQ)
|
||||
freq_listening = list(GLOB.ENG_FREQ)
|
||||
autolinkers = list("engineering")
|
||||
|
||||
/obj/machinery/telecomms/server/presets/security
|
||||
id = "Security Server"
|
||||
freq_listening = list(SEC_FREQ)
|
||||
freq_listening = list(GLOB.SEC_FREQ)
|
||||
autolinkers = list("security")
|
||||
|
||||
/obj/machinery/telecomms/server/presets/common/birdstation/New()
|
||||
..()
|
||||
freq_listening = list()
|
||||
freq_listening = list()
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
Look at radio.dm for the prequel to this code.
|
||||
*/
|
||||
|
||||
var/global/list/obj/machinery/telecomms/telecomms_list = list()
|
||||
GLOBAL_LIST_EMPTY(telecomms_list)
|
||||
|
||||
/obj/machinery/telecomms
|
||||
icon = 'icons/obj/machines/telecomms.dmi'
|
||||
@@ -86,7 +86,8 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
|
||||
"verb_say" = signal.data["verb_say"],
|
||||
"verb_ask" = signal.data["verb_ask"],
|
||||
"verb_exclaim" = signal.data["verb_exclaim"],
|
||||
"verb_yell" = signal.data["verb_yell"]
|
||||
"verb_yell" = signal.data["verb_yell"],
|
||||
"language" = signal.data["language"]
|
||||
)
|
||||
|
||||
// Keep the "original" signal constant
|
||||
@@ -133,7 +134,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
|
||||
|
||||
|
||||
/obj/machinery/telecomms/New()
|
||||
telecomms_list += src
|
||||
GLOB.telecomms_list += src
|
||||
..()
|
||||
|
||||
//Set the listening_level if there's none.
|
||||
@@ -155,13 +156,13 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
|
||||
for(var/obj/machinery/telecomms/T in urange(20, src, 1))
|
||||
add_link(T)
|
||||
else
|
||||
for(var/obj/machinery/telecomms/T in telecomms_list)
|
||||
for(var/obj/machinery/telecomms/T in GLOB.telecomms_list)
|
||||
add_link(T)
|
||||
|
||||
|
||||
/obj/machinery/telecomms/Destroy()
|
||||
telecomms_list -= src
|
||||
for(var/obj/machinery/telecomms/comm in telecomms_list)
|
||||
GLOB.telecomms_list -= src
|
||||
for(var/obj/machinery/telecomms/comm in GLOB.telecomms_list)
|
||||
comm.links -= src
|
||||
links = list()
|
||||
return ..()
|
||||
|
||||
Reference in New Issue
Block a user