Megaphones now create floating chat and use accent/lang (#22942)

Megaphones now use your accent, language, and create floating text when
used.

<img width="2560" height="1400" alt="dreamseeker_V1ntU7aL2j"
src="https://github.com/user-attachments/assets/36828048-9e5b-4c6d-bad9-974d8880adef"
/>

Port of https://github.com/Baystation12/Baystation12/pull/35232 but only
in spirit.
This commit is contained in:
Hayden
2026-08-02 01:24:36 +00:00
committed by GitHub
parent bd13fc8f7c
commit 13beeb437a
5 changed files with 21 additions and 6 deletions
+5 -2
View File
@@ -47,12 +47,12 @@
return
if(emagged)
if(insults)
user.audible_message("<B>[user]</B> broadcasts, <FONT size=5>\"[pick(insultmsg)]\"</FONT>", "<B>[user]</B> speaks into \the [src].", 14)
speak(pick(insultmsg), user)
insults--
else
to_chat(user, SPAN_WARNING("*BZZZZzzzzzt*"))
else
user.audible_message("<B>[user]</B> broadcasts, <FONT size=5>\"[message]\"</FONT>", "<B>[user]</B> speaks into \the [src].", 14)
speak(message, user)
if(activation_sound)
playsound(loc, activation_sound, 100, 0, 1)
for (var/mob/living/carbon/human/C in range(user, 2) - user)
@@ -63,6 +63,9 @@
spamcheck = world.time + 50
return
/obj/item/megaphone/proc/speak(var/msg, var/mob/living/user)
user.say(msg, user.get_default_language(), "broadcasts")
/obj/item/megaphone/emag_act(var/remaining_charges, var/mob/user)
if(!emagged)
to_chat(user, SPAN_WARNING("You overload \the [src]'s voice synthesizer."))