mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-14 01:24:21 +01:00
[MIRROR] NtOS Emojipedia - PDA Emoji Messaging For All [MDB IGNORE] (#17402)
* NtOS Emojipedia - PDA Emoji Messaging For All (#70829) An Emojipedia app has been added to tablets, given to Mimes and Curators by default, allowing anyone to know all emojis. Additionally, emojis can be used in tablets by every job now. * NtOS Emojipedia - PDA Emoji Messaging For All * update emoji list to be valid * animated emojis Co-authored-by: san7890 <the@san7890.com> Co-authored-by: tastyfish <crazychris32@gmail.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
/// A tablet app that lets anyone see all the valid emoji they can send via a PDA message (and even OOC!)
|
||||
/datum/computer_file/program/emojipedia
|
||||
filename = "emojipedia"
|
||||
filedesc = "EmojiPedia"
|
||||
category = PROGRAM_CATEGORY_CREW // we want everyone to be able to access this application, since everyone can send emoji via PDA messages
|
||||
program_icon_state = "generic"
|
||||
extended_desc = "This program allows you to view all the emojis you can send via PDA messages."
|
||||
size = 3
|
||||
tgui_id = "NtosEmojipedia"
|
||||
program_icon = "icons"
|
||||
/// Store the list of potential emojis here.
|
||||
var/static/list/emoji_list = icon_states(icon(EMOJI_SET))
|
||||
|
||||
/datum/computer_file/program/emojipedia/New()
|
||||
. = ..()
|
||||
// Sort the emoji list so it's easier to find things and we don't have to keep sorting on ui_data since the number of emojis can not change in-game.
|
||||
emoji_list = sortTim(emoji_list, /proc/cmp_text_asc)
|
||||
|
||||
/datum/computer_file/program/emojipedia/ui_static_data(mob_user)
|
||||
var/list/data = get_header_data()
|
||||
for(var/emoji in emoji_list)
|
||||
data["emoji_list"] += list(list(
|
||||
"name" = emoji,
|
||||
))
|
||||
|
||||
return data
|
||||
|
||||
/datum/computer_file/program/emojipedia/ui_assets(mob/user)
|
||||
return list(
|
||||
get_asset_datum(/datum/asset/spritesheet/emojipedia),
|
||||
)
|
||||
@@ -30,8 +30,6 @@
|
||||
var/datum/picture/saved_image
|
||||
/// Whether the user is invisible to the message list.
|
||||
var/invisible = FALSE
|
||||
/// Whether or not we allow emojis to be sent by the user.
|
||||
var/allow_emojis = FALSE
|
||||
/// Whether or not we're currently looking at the message list.
|
||||
var/viewing_messages = FALSE
|
||||
// Whether or not this device is currently hidden from the message monitor.
|
||||
@@ -292,7 +290,6 @@
|
||||
"message" = html_decode(message),
|
||||
"ref" = REF(computer),
|
||||
"targets" = targets,
|
||||
"emojis" = allow_emojis,
|
||||
"rigged" = rigged,
|
||||
"photo" = photo_path,
|
||||
"automated" = FALSE,
|
||||
@@ -311,9 +308,8 @@
|
||||
playsound(src, 'sound/machines/terminal_error.ogg', 15, TRUE)
|
||||
return FALSE
|
||||
|
||||
if(allow_emojis)
|
||||
message = emoji_parse(message)//already sent- this just shows the sent emoji as one to the sender in the to_chat
|
||||
signal.data["message"] = emoji_parse(signal.data["message"])
|
||||
message = emoji_parse(message)//already sent- this just shows the sent emoji as one to the sender in the to_chat
|
||||
signal.data["message"] = emoji_parse(signal.data["message"])
|
||||
|
||||
// Log it in our logs
|
||||
var/list/message_data = list()
|
||||
@@ -382,8 +378,7 @@
|
||||
reply = "\[Automated Message\]"
|
||||
|
||||
var/inbound_message = signal.format_message()
|
||||
if(signal.data["emojis"] == TRUE)//so will not parse emojis as such from pdas that don't send emojis
|
||||
inbound_message = emoji_parse(inbound_message)
|
||||
inbound_message = emoji_parse(inbound_message)
|
||||
|
||||
if(ringer_status && L.is_literate())
|
||||
to_chat(L, "<span class='infoplain'>[icon2html(src)] <b>PDA message from [hrefstart][signal.data["name"]] ([signal.data["job"]])[hrefend], </b>[inbound_message] [reply]</span>")
|
||||
|
||||
Reference in New Issue
Block a user