diff --git a/code/modules/asset_cache/assets/chat.dm b/code/modules/asset_cache/assets/chat.dm index 471e8ce85dc..890f05afe39 100644 --- a/code/modules/asset_cache/assets/chat.dm +++ b/code/modules/asset_cache/assets/chat.dm @@ -11,3 +11,7 @@ if (icon != 'icons/ui/chat/language.dmi') var/icon_state = initial(L.icon_state) insert_icon("language-[icon_state]", uni_icon(icon, icon_state)) + + var/datum/universal_icon/byond_member = uni_icon('icons/ui/chat/member_content.dmi', "blag") + byond_member.scale(16, 16) + insert_icon("byond_member", byond_member) diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index 7aa9ffd8fb8..cb02dc6d248 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -77,12 +77,27 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") mob.log_talk(raw_msg, LOG_OOC) var/keyname = key - if(prefs.unlock_content) - if(prefs.toggles & MEMBER_PUBLIC) - keyname = "[icon2html('icons/ui/chat/member_content.dmi', world, "blag")][keyname]" + var/list/key_tags + var/key_prefix = "" + var/visible_unlock = prefs.unlock_content && (prefs.toggles & MEMBER_PUBLIC) + + // heart first lol if(prefs.hearted) - var/datum/asset/spritesheet_batched/sheet = get_asset_datum(/datum/asset/spritesheet_batched/chat) - keyname = "[sheet.icon_tag("emoji-heart")][keyname]" + LAZYADD(key_tags, "emoji-heart") + if(visible_unlock) + LAZYADD(key_tags, "byond_member") + + if(LAZYLEN(key_tags)) + var/datum/asset/spritesheet_batched/chat/sheet = get_asset_datum(/datum/asset/spritesheet_batched/chat) + for(var/icon_name in key_tags) + key_prefix = "[key_prefix][sheet.icon_tag(icon_name)]" + key_prefix = "[key_prefix]" + + keyname = "[key_prefix][keyname]" + + if(visible_unlock) + keyname = "[keyname]" + //The linkify span classes and linkify=TRUE below make ooc text get clickable chat href links if you pass in something resembling a url for(var/client/receiver as anything in GLOB.clients) if(!receiver.prefs) // Client being created or deleted. Despite all, this can be null.