Mecha Speakers (#11268)

This commit is contained in:
Geeves
2021-03-10 20:18:09 +01:00
committed by GitHub
parent f45b6c040a
commit a52f554c77
7 changed files with 45 additions and 5 deletions
+9 -3
View File
@@ -1,6 +1,6 @@
// At minimum every mob has a hear_say proc.
/mob/proc/hear_say(var/message, var/verb = "says", var/datum/language/language = null, var/alt_name = "",var/italics = 0, var/mob/speaker = null, var/sound/speech_sound, var/sound_vol)
/mob/proc/hear_say(var/message, var/verb = "says", var/datum/language/language = null, var/alt_name = "",var/italics = 0, var/mob/speaker = null, var/sound/speech_sound, var/sound_vol, var/font_size = null)
if(!istype(src, /mob/living/test) && cant_hear())
return
@@ -68,9 +68,15 @@
to_chat(src, "<span class='name'>[speaker_name]</span>[alt_name] talks but you cannot hear them.")
else
if(language)
on_hear_say("[track][accent_icon ? accent_icon + " " : ""]<span class='game say'><span class='name'>[speaker_name]</span>[alt_name] [language.format_message(message, verb)]</span>")
if(font_size)
on_hear_say("[track][accent_icon ? accent_icon + " " : ""]<font size='[font_size]'><span class='game say'><span class='name'>[speaker_name]</span>[alt_name] [language.format_message(message, verb)]</span></font>")
else
on_hear_say("[track][accent_icon ? accent_icon + " " : ""]<span class='game say'><span class='name'>[speaker_name]</span>[alt_name] [language.format_message(message, verb)]</span>")
else
on_hear_say("[track]<span class='game say'><span class='name'>[speaker_name]</span>[alt_name] [verb], <span class='message'><span class='body'>\"[message]\"</span></span></span>")
if(font_size)
on_hear_say("[track]<font size='[font_size]'><span class='game say'><span class='name'>[speaker_name]</span>[alt_name] [verb], <span class='message'><span class='body'>\"[message]\"</span></span></span></font>")
else
on_hear_say("[track]<span class='game say'><span class='name'>[speaker_name]</span>[alt_name] [verb], <span class='message'><span class='body'>\"[message]\"</span></span></span>")
if (speech_sound && (get_dist(speaker, src) <= world.view && src.z == speaker.z))
var/turf/source = speaker? get_turf(speaker) : get_turf(src)
playsound_simple(source, speech_sound, sound_vol, use_random_freq = TRUE)
+8 -2
View File
@@ -161,6 +161,13 @@ proc/get_radio_key_from_channel(var/channel)
return "asks"
return verb
/mob/living/proc/get_font_size_modifier()
if(ismech(loc))
var/mob/living/heavy_vehicle/HV = loc
if(HV.loudening)
return FONT_SIZE_LARGE
return null
/mob/living/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR)
if(stat)
if(stat == DEAD)
@@ -276,11 +283,10 @@ proc/get_radio_key_from_channel(var/channel)
get_mobs_and_objs_in_view_fast(T, message_range, listening, listening_obj, ghost_hearing)
var/list/hear_clients = list()
for(var/m in listening)
var/mob/M = m
var/heard_say = M.hear_say(message, verb, speaking, alt_name, italics, src, speech_sound, sound_vol)
var/heard_say = M.hear_say(message, verb, speaking, alt_name, italics, src, speech_sound, sound_vol, get_font_size_modifier())
if(heard_say && M.client)
hear_clients += M.client