mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Chat toggles for ghost.
This commit is contained in:
@@ -27,10 +27,22 @@
|
||||
return "[pick("whines", "cries", "spooks", "complains", "drones", "mutters")], \"[text]\"";
|
||||
|
||||
/mob/dead/observer/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq)
|
||||
if(radio_freq)
|
||||
speaker = speaker.GetSource()
|
||||
if (isnull(client))
|
||||
return
|
||||
|
||||
if (isnull(radio_freq))
|
||||
if (!(client.prefs.toggles & CHAT_GHOSTEARS))
|
||||
return
|
||||
else
|
||||
if (!(client.prefs.toggles & CHAT_GHOSTRADIO))
|
||||
return
|
||||
else
|
||||
speaker = speaker.GetSource()
|
||||
|
||||
var/turf/T = get_turf(speaker)
|
||||
if(get_dist(T, src) <= world.view) // if this isn't true, we can't be in view, so no need for costlier proc
|
||||
if(T in view(src))
|
||||
|
||||
if (get_dist(T, src) <= world.view) // If this isn't true, we can't be in view, so no need for costlier proc.
|
||||
if (T in view(src))
|
||||
message = "<b>[message]</b>"
|
||||
|
||||
src << "<a href='?src=\ref[src];follow=\ref[speaker]'>(Follow)</a> [message]"
|
||||
|
||||
@@ -164,22 +164,14 @@ var/list/department_radio_keys = list(
|
||||
return message
|
||||
|
||||
/mob/living/send_speech(message, message_range = 7, obj/source = src, bubble_type)
|
||||
var/list/listening = get_hearers_in_view(message_range, source)
|
||||
var/list/listening_dead = list()
|
||||
for(var/mob/M in player_list)
|
||||
if(client && M.client && M.stat == DEAD && (M.client.prefs.toggles & CHAT_GHOSTEARS)) // client is so that ghosts don't have to listen to mice
|
||||
listening_dead |= M
|
||||
|
||||
listening -= listening_dead //so ghosts dont hear stuff twice
|
||||
var/list/listeners = get_hearers_in_view(message_range, source) | observers
|
||||
|
||||
var/rendered = compose_message(src, languages, message)
|
||||
for(var/atom/movable/AM in listening)
|
||||
AM.Hear(rendered, src, languages, message)
|
||||
|
||||
for(var/mob/M in listening_dead)
|
||||
M.Hear(rendered, src, languages, message)
|
||||
for (var/atom/movable/listener in listeners)
|
||||
listener.Hear(rendered, src, languages, message)
|
||||
|
||||
send_speech_bubble(message, bubble_type, (listening + listening_dead))
|
||||
send_speech_bubble(message, bubble_type, listeners)
|
||||
|
||||
/mob/living/proc/say_test(var/text)
|
||||
var/ending = copytext(text, length(text))
|
||||
|
||||
Reference in New Issue
Block a user