mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-08-23 13:17:03 +01:00
Runechat (#8121)
* Message piece combiner returns a list * Emote formatter returns a list * Port Runechat * Various onamonapoea * Suggested changes, small opts * Fix chat message on different size mobs * Couple more runefixes * Enable encoding chat emphasis in runechat * Remove extra asterisks from rune audible messages * Fix runedefines
This commit is contained in:
@@ -232,7 +232,8 @@
|
||||
var/list/mobs_to_relay = in_range["mobs"]
|
||||
|
||||
for(var/mob/mob in mobs_to_relay)
|
||||
var/message = mob.combine_message(message_pieces, verb, M)
|
||||
var/list/combined = mob.combine_message(message_pieces, verb, M)
|
||||
var/message = combined["formatted"]
|
||||
var/name_used = M.GetVoice()
|
||||
var/rendered = null
|
||||
rendered = "<span class='game say'>[bicon(src)] <span class='name'>[name_used]</span> [message]</span>"
|
||||
|
||||
@@ -454,7 +454,7 @@
|
||||
return
|
||||
|
||||
playsound(src, 'sound/machines/defib_charge.ogg', 50, 0)
|
||||
audible_message("<span class='warning'>\The [src] lets out a steadily rising hum...</span>")
|
||||
audible_message("<span class='warning'>\The [src] lets out a steadily rising hum...</span>", runemessage = "whines")
|
||||
|
||||
if(!do_after(user, chargetime, H))
|
||||
return
|
||||
@@ -521,7 +521,7 @@
|
||||
H.setBrainLoss(brain_damage)
|
||||
|
||||
/obj/item/weapon/shockpaddles/proc/make_announcement(var/message, var/msg_class)
|
||||
audible_message("<b>\The [src]</b> [message]", "\The [src] vibrates slightly.")
|
||||
audible_message("<b>\The [src]</b> [message]", "\The [src] vibrates slightly.", runemessage = "buzz")
|
||||
|
||||
/obj/item/weapon/shockpaddles/emag_act(mob/user)
|
||||
if(safety)
|
||||
|
||||
@@ -31,12 +31,13 @@
|
||||
/obj/item/device/megaphone/proc/do_broadcast(var/mob/living/user, var/message)
|
||||
if(emagged)
|
||||
if(insults)
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=3>\"[pick(insultmsg)]\"</FONT>")
|
||||
var/insult = pick(insultmsg)
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=3>\"[insult]\"</FONT>", runemessage = insult)
|
||||
insults--
|
||||
else
|
||||
to_chat(user, "<span class='warning'>*BZZZZzzzzzt*</span>")
|
||||
else
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=3>\"[message]\"</FONT>")
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=3>\"[message]\"</FONT>", runemessage = message)
|
||||
|
||||
/obj/item/device/megaphone/attack_self(var/mob/living/user)
|
||||
var/message = sanitize(input(user, "Shout a message?", "Megaphone", null) as text)
|
||||
@@ -131,7 +132,8 @@
|
||||
/obj/item/device/megaphone/super/do_broadcast(var/mob/living/user, var/message)
|
||||
if(emagged)
|
||||
if(insults)
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=[broadcast_size] face='[broadcast_font]' color='[broadcast_color]'>\"[pick(insultmsg)]\"</FONT>")
|
||||
var/insult = pick(insultmsg)
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=[broadcast_size] face='[broadcast_font]' color='[broadcast_color]'>\"[insult]\"</FONT>", runemessage = insult)
|
||||
if(broadcast_size >= 11)
|
||||
var/turf/T = get_turf(user)
|
||||
playsound(src, 'sound/items/AirHorn.ogg', 100, 1)
|
||||
@@ -160,4 +162,4 @@
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=[broadcast_size] face='[broadcast_font]' color='[broadcast_color]'>\"[message]\"</FONT>")
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=[broadcast_size] face='[broadcast_font]' color='[broadcast_color]'>\"[message]\"</FONT>", runemessage = message)
|
||||
|
||||
@@ -258,13 +258,13 @@
|
||||
var/playedmessage = mytape.storedinfo[i]
|
||||
if (findtextEx(playedmessage,"*",1,2)) //remove marker for action sounds
|
||||
playedmessage = copytext(playedmessage,2)
|
||||
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: [playedmessage]</font>")
|
||||
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: [playedmessage]</font>", runemessage = playedmessage)
|
||||
|
||||
if(mytape.storedinfo.len < i+1)
|
||||
playsleepseconds = 1
|
||||
sleep(10)
|
||||
T = get_turf(src)
|
||||
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: End of recording.</font>")
|
||||
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: End of recording.</font>", runemessage = "click")
|
||||
break
|
||||
else
|
||||
playsleepseconds = mytape.timestamp[i+1] - mytape.timestamp[i]
|
||||
@@ -272,7 +272,7 @@
|
||||
if(playsleepseconds > 14)
|
||||
sleep(10)
|
||||
T = get_turf(src)
|
||||
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: Skipping [playsleepseconds] seconds of silence</font>")
|
||||
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: Skipping [playsleepseconds] seconds of silence</font>", runemessage = "tape winding")
|
||||
playsleepseconds = 1
|
||||
sleep(10 * playsleepseconds)
|
||||
|
||||
@@ -282,7 +282,7 @@
|
||||
|
||||
if(emagged)
|
||||
var/turf/T = get_turf(src)
|
||||
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: This tape recorder will self-destruct in... Five.</font>")
|
||||
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: This tape recorder will self-destruct in... Five.</font>", runemessage = "beep beep")
|
||||
sleep(10)
|
||||
T = get_turf(src)
|
||||
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: Four.</font>")
|
||||
|
||||
@@ -24,5 +24,6 @@
|
||||
|
||||
var/message = sanitize(input(user,"Choose a message to relay to those around you.") as text|null)
|
||||
if(message)
|
||||
var/obj/item/device/text_to_speech/O = src
|
||||
audible_message("[bicon(O)] \The [O.name] states, \"[message]\"")
|
||||
audible_message("[bicon(src)] \The [src.name] states, \"[message]\"", runemessage = "synthesized speech")
|
||||
if(ismob(loc))
|
||||
loc.audible_message("", runemessage = "\[TTS Voice\] [message]")
|
||||
|
||||
@@ -33,12 +33,12 @@
|
||||
|
||||
if(isnull(insults))
|
||||
playsound(src, 'sound/voice/halt.ogg', 100, 1, vary = 0)
|
||||
user.audible_message("<span class='warning'>[user]'s [name] rasps, \"[use_message]\"</span>", "<span class='warning'>\The [user] holds up \the [name].</span>")
|
||||
user.audible_message("<span class='warning'>[user]'s [name] rasps, \"[use_message]\"</span>", "<span class='warning'>\The [user] holds up \the [name].</span>", runemessage = "\[TTS Voice\] [use_message]")
|
||||
else
|
||||
if(insults > 0)
|
||||
playsound(src, 'sound/voice/binsult.ogg', 100, 1, vary = 0)
|
||||
// Yes, it used to show the transcription of the sound clip. That was a) inaccurate b) immature as shit.
|
||||
user.audible_message("<span class='warning'>[user]'s [name] gurgles something indecipherable and deeply offensive.</span>", "<span class='warning'>\The [user] holds up \the [name].</span>")
|
||||
user.audible_message("<span class='warning'>[user]'s [name] gurgles something indecipherable and deeply offensive.</span>", "<span class='warning'>\The [user] holds up \the [name].</span>", runemessage = "\[TTS Voice\] #&@&^%(*")
|
||||
insults--
|
||||
else
|
||||
to_chat(user, "<span class='danger'>*BZZZZZZZZT*</span>")
|
||||
|
||||
@@ -293,7 +293,8 @@
|
||||
for(var/wr_master in masters)
|
||||
var/weakref/wr = wr_master
|
||||
var/mob/master = wr.resolve()
|
||||
var/message = master.combine_message(message_pieces, verb, M)
|
||||
var/list/combined = master.combine_message(message_pieces, verb, M)
|
||||
var/message = combined["formatted"]
|
||||
var/rendered = "<i><span class='game say'>UAV received: <span class='name'>[name_used]</span> [message]</span></i>"
|
||||
master.show_message(rendered, 2)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user