mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-14 09:35:30 +01:00
Makes the sayspan rewrite not runtime everything to fuck.
Also fixes #8168
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
message = Gibberish(message, (emp_damage*6))//scrambles the message, gets worse when emp_damage is higher
|
||||
..()
|
||||
|
||||
/mob/living/carbon/brain/radio(message, message_mode, list/spans = list())
|
||||
/mob/living/carbon/brain/radio(message, message_mode, list/spans)
|
||||
if(message_mode && istype(container, /obj/item/device/mmi/radio_enabled))
|
||||
var/obj/item/device/mmi/radio_enabled/R = container
|
||||
if(R.radio)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
return message
|
||||
|
||||
/mob/living/carbon/human/get_spans()
|
||||
return ..() + dna.mutations_get_spans()
|
||||
return ..() | dna.mutations_get_spans()
|
||||
|
||||
/mob/living/carbon/human/GetVoice()
|
||||
if(istype(wear_mask, /obj/item/clothing/mask/gas/voice))
|
||||
@@ -72,7 +72,7 @@
|
||||
if(!istype(dongle)) return 0
|
||||
if(dongle.translate_binary) return 1
|
||||
|
||||
/mob/living/carbon/human/radio(message, message_mode, list/spans = list())
|
||||
/mob/living/carbon/human/radio(message, message_mode, list/spans)
|
||||
. = ..()
|
||||
if(. != 0)
|
||||
return .
|
||||
@@ -104,33 +104,7 @@
|
||||
if(name != GetVoice())
|
||||
return " (as [get_id_name("Unknown")])"
|
||||
|
||||
/mob/living/carbon/human/proc/forcesay(list/append) //this proc is at the bottom of the file because quote fuckery makes notepad++ cri
|
||||
if(stat == CONSCIOUS)
|
||||
if(client)
|
||||
var/virgin = 1 //has the text been modified yet?
|
||||
var/temp = winget(client, "input", "text")
|
||||
if(findtextEx(temp, "Say \"", 1, 7) && length(temp) > 5) //"case sensitive means
|
||||
|
||||
temp = replacetext(temp, ";", "") //general radio
|
||||
|
||||
if(findtext(trim_left(temp), ":", 6, 7)) //dept radio
|
||||
temp = copytext(trim_left(temp), 8)
|
||||
virgin = 0
|
||||
|
||||
if(virgin)
|
||||
temp = copytext(trim_left(temp), 6) //normal speech
|
||||
virgin = 0
|
||||
|
||||
while(findtext(trim_left(temp), ":", 1, 2)) //dept radio again (necessary)
|
||||
temp = copytext(trim_left(temp), 3)
|
||||
|
||||
if(findtext(temp, "*", 1, 2)) //emotes
|
||||
return
|
||||
|
||||
var/trimmed = trim_left(temp)
|
||||
if(length(trimmed))
|
||||
if(append)
|
||||
temp += pick(append)
|
||||
|
||||
say(temp)
|
||||
winset(client, "input", "text=[null]")
|
||||
/mob/living/carbon/human/proc/forcesay(list/append)
|
||||
var/temp = winget(client, "input", "text")
|
||||
say(temp)
|
||||
winset(client, "input", "text=[null]")
|
||||
|
||||
@@ -111,19 +111,19 @@ var/list/department_radio_keys = list(
|
||||
if(pressure < ONE_ATMOSPHERE*0.4) //Thin air, let's italicise the message
|
||||
spans |= SPAN_ITALICS
|
||||
|
||||
send_speech(message, message_range, src, bubble_type)
|
||||
send_speech(message, message_range, src, bubble_type, spans)
|
||||
|
||||
log_say("[name]/[key] : [message]")
|
||||
return 1
|
||||
|
||||
/mob/living/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans = list())
|
||||
/mob/living/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans)
|
||||
if(!client)
|
||||
return
|
||||
var/deaf_message
|
||||
var/deaf_type
|
||||
if(speaker != src)
|
||||
if(!radio_freq) //These checks have to be seperate, else people talking on the radio will make "You can't hear yourself!" appear when hearing people over the radio while deaf.
|
||||
deaf_message = "<span class='name'>[speaker]</span> talks but you cannot hear them."
|
||||
deaf_message = "<span class='name'>[speaker]</span> [speaker.verb_say] something but you cannot hear them."
|
||||
deaf_type = 1
|
||||
else
|
||||
deaf_message = "<span class='notice'>You can't hear yourself!</span>"
|
||||
@@ -133,25 +133,19 @@ var/list/department_radio_keys = list(
|
||||
show_message(message, 2, deaf_message, deaf_type)
|
||||
return message
|
||||
|
||||
/mob/living/send_speech(message, message_range = 7, obj/source = src, bubble_type, list/spans = list())
|
||||
/mob/living/send_speech(message, message_range = 7, obj/source = src, bubble_type, list/spans)
|
||||
var/list/listening = get_hearers_in_view(message_range, source)
|
||||
var/list/listening_dead = list()
|
||||
for(var/mob/M in player_list)
|
||||
if(M.stat == DEAD && M.client && ((M.client.prefs.chat_toggles & CHAT_GHOSTEARS) || (get_dist(M, src) <= 7)) && client) // client is so that ghosts don't have to listen to mice
|
||||
listening_dead |= M
|
||||
|
||||
listening -= listening_dead //so ghosts dont hear stuff twice
|
||||
listening |= M
|
||||
|
||||
var/rendered = compose_message(src, languages, message, , spans)
|
||||
for(var/atom/movable/AM in listening)
|
||||
AM.Hear(rendered, src, languages, message, , spans)
|
||||
|
||||
for(var/mob/M in listening_dead)
|
||||
M.Hear(rendered, src, languages, message, , spans)
|
||||
|
||||
//speech bubble
|
||||
var/list/speech_bubble_recipients = list()
|
||||
for(var/mob/M in (listening + listening_dead))
|
||||
for(var/mob/M in listening)
|
||||
if(M.client)
|
||||
speech_bubble_recipients.Add(M.client)
|
||||
spawn(0)
|
||||
@@ -239,7 +233,7 @@ var/list/department_radio_keys = list(
|
||||
|
||||
return message
|
||||
|
||||
/mob/living/proc/radio(message, message_mode, list/spans = list())
|
||||
/mob/living/proc/radio(message, message_mode, list/spans)
|
||||
switch(message_mode)
|
||||
if(MODE_R_HAND)
|
||||
if (r_hand)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
/mob/living/silicon/ai/IsVocal()
|
||||
return !config.silent_ai
|
||||
|
||||
/mob/living/silicon/ai/radio(message, message_mode, list/spans = list())
|
||||
/mob/living/silicon/ai/radio(message, message_mode, list/spans)
|
||||
if(!radio_enabled || aiRestorePowerRoutine || stat) //AI cannot speak if radio is disabled (via intellicard) or depowered.
|
||||
src << "<span class='danger'>Your radio transmitter is offline!</span>"
|
||||
return 0
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
<div id=\"rightmenu\">[right_part]</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>"}
|
||||
</html>"} //"
|
||||
usr << browse(dat, "window=pai;size=640x480;border=0;can_close=1;can_resize=1;can_minimize=1;titlebar=1")
|
||||
onclose(usr, "pai")
|
||||
temp = null
|
||||
@@ -252,7 +252,7 @@
|
||||
add_med_hud()
|
||||
if("translator")
|
||||
if(href_list["toggle"])
|
||||
languages = languages == ALL ? HUMAN & ROBOT : ALL
|
||||
languages = (languages == ALL) ? (HUMAN & ROBOT) : ALL
|
||||
if("doorjack")
|
||||
if(href_list["jack"])
|
||||
if(src.cable && src.cable.machine)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
/mob/living/silicon/lingcheck()
|
||||
return 0 //Borged or AI'd lings can't speak on the ling channel.
|
||||
|
||||
/mob/living/silicon/radio(message, message_mode, list/spans = list())
|
||||
/mob/living/silicon/radio(message, message_mode, list/spans)
|
||||
. = ..()
|
||||
if(. != 0)
|
||||
return .
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
speech_buffer |= html_decode(raw_message)
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/parrot/radio(message, message_mode, list/spans = list()) //literally copied from human/radio(), but there's no other way to do this. at least it's better than it used to be.
|
||||
/mob/living/simple_animal/parrot/radio(message, message_mode, list/spans) //literally copied from human/radio(), but there's no other way to do this. at least it's better than it used to be.
|
||||
. = ..()
|
||||
if(. != 0)
|
||||
return .
|
||||
|
||||
Reference in New Issue
Block a user