|
1 | 1 | /obj/machinery/holopad/proc/get_audience() |
2 | 2 | . = list() |
3 | | - var/connected = targetpad && !targetpad.incoming_connection |
4 | | - if(connected) |
| 3 | + if(!incoming_connection) |
5 | 4 | for(var/mob/living/listener in range(7, targetpad)) |
6 | 5 | . += listener |
7 | 6 | for(var/mob/living/listener in range(7, sourcepad)) |
|
19 | 18 | . = ..() |
20 | 19 | if(last_message == msg || istype(source, /obj/machinery/holopad)) |
21 | 20 | return |
22 | | - if((targetpad && sourcepad) || length(masters)) |
| 21 | + if(length(masters) || ((sourcepad || targetpad) && !incoming_connection)) |
23 | 22 | last_message = msg |
24 | 23 | var/list/local_audience = get_mobs_or_objects_in_view(7, get_turf(src), TRUE, FALSE) |
25 | 24 | for(var/mob/listener in get_audience()) |
26 | 25 | if(!(listener in local_audience)) |
27 | | - listener.show_message("<i><small>\icon[src][capitalize(name)] relayed:</small></i> [msg]", type, source) |
| 26 | + listener.show_message("<i><small>\icon[src] [capitalize(strip_improper(name))] relayed:</small></i> [msg]", type, source) |
28 | 27 |
|
29 | | -/obj/machinery/holopad/hear_talk(mob/living/speaker, datum/speech/phrases, verb, stars = FALSE) |
| 28 | +/obj/machinery/holopad/hear_talk(mob/living/speaker, datum/speech/phrases, verb, stars = FALSE, decl/language/force_language) |
30 | 29 | ..() |
31 | | - var/phrase_msg = "\ref[phrases.speaker_ref]: [phrases.formatted_message]" |
| 30 | + var/phrase_msg = "\ref[speaker]: [istype(phrases) ? phrases.formatted_message : phrases]" |
32 | 31 | if(last_message == phrase_msg) |
33 | 32 | return |
34 | | - if((targetpad && sourcepad) || length(masters)) |
| 33 | + if(length(masters) || ((sourcepad || targetpad) && !incoming_connection)) |
35 | 34 | last_message = phrase_msg |
36 | 35 | var/list/local_audience = get_mobs_or_objects_in_view(7, get_turf(speaker), TRUE, FALSE) |
37 | 36 | for(var/mob/listener in get_audience()) |
|
0 commit comments