runechat emotes

This commit is contained in:
L
2020-07-19 22:11:44 -03:00
parent a181d4148a
commit 9ee2907a68
10 changed files with 182 additions and 124 deletions
+1 -1
View File
@@ -150,7 +150,7 @@
friend_talk(message)
/mob/camera/imaginary_friend/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, list/message_mods = list())
/mob/camera/imaginary_friend/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, list/message_mods = list(), runechat_flags = NONE)
if (client?.prefs.chat_on_map && (client.prefs.see_chat_non_mob || ismob(speaker)))
create_chat_message(speaker, message_language, raw_message, spans)
to_chat(src, compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mods))
+9 -3
View File
@@ -104,7 +104,10 @@
// Append radio icon if from a virtual speaker
if (extra_classes.Find("virtual-speaker"))
var/image/r_icon = image('icons/UI_Icons/chat/chat_icons.dmi', icon_state = "radio")
text = "\icon[r_icon] " + text
text = "\icon[r_icon] [text]"
else if (extra_classes.Find("emote"))
var/image/r_icon = image('icons/UI_Icons/chat/chat_icons.dmi', icon_state = "emote")
text = "\icon[r_icon] [text]"
// We dim italicized text to make it more distinguishable from regular text
var/tgt_color = extra_classes.Find("italics") ? target.chat_color_darkened : target.chat_color
@@ -169,7 +172,7 @@
* * raw_message - The text content of the message
* * spans - Additional classes to be added to the message
*/
/mob/proc/create_chat_message(atom/movable/speaker, datum/language/message_language, raw_message, list/spans)
/mob/proc/create_chat_message(atom/movable/speaker, datum/language/message_language, raw_message, list/spans, runechat_flags = NONE)
// Ensure the list we are using, if present, is a copy so we don't modify the list provided to us
spans = spans ? spans.Copy() : list()
@@ -185,7 +188,10 @@
return
// Display visual above source
new /datum/chatmessage(lang_treat(speaker, message_language, raw_message, spans, null, TRUE), speaker, src, spans)
if(runechat_flags & EMOTE_MESSAGE)
new /datum/chatmessage(raw_message, speaker, src, list("emote", "italics"))
else
new /datum/chatmessage(lang_treat(speaker, message_language, raw_message, spans, null, TRUE), speaker, src, spans)
// Tweak these defines to change the available color ranges
+4 -4
View File
@@ -58,7 +58,7 @@
return
user.log_message(msg, LOG_EMOTE)
msg = "<b>[user]</b> " + msg
var/dchatmsg = "<b>[user]</b> [msg]"
var/tmp_sound = get_sound(user)
if(tmp_sound && (!only_forced_audio || !intentional))
@@ -69,12 +69,12 @@
continue
var/T = get_turf(user)
if(M.stat == DEAD && M.client && (M.client.prefs.chat_toggles & CHAT_GHOSTSIGHT) && !(M in viewers(T, null)))
M.show_message(msg)
M.show_message("[FOLLOW_LINK(M, user)] [dchatmsg]")
if(emote_type == EMOTE_AUDIBLE)
user.audible_message(msg)
user.audible_message(msg, audible_message_flags = EMOTE_MESSAGE)
else
user.visible_message(msg)
user.visible_message(msg, visible_message_flags = EMOTE_MESSAGE)
/// For handling emote cooldown, return true to allow the emote to happen
/datum/emote/proc/check_cooldown(mob/user, intentional)