VChat: Redone chat output done in Vue.js

This commit is contained in:
Aronai Sieyes
2020-03-27 17:07:28 -04:00
committed by VirgoBot
parent 0313b8d342
commit 8a33afaff6
15 changed files with 142 additions and 40 deletions

View File

@@ -78,8 +78,12 @@
#define COLOR_RED_LIGHT "#FF3333" #define COLOR_RED_LIGHT "#FF3333"
#define COLOR_DEEP_SKY_BLUE "#00e1ff" #define COLOR_DEEP_SKY_BLUE "#00e1ff"
<<<<<<< HEAD
#define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (istype(I, /client) ? I : null)) #define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (istype(I, /client) ? I : null))
=======
#define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (isclient(I) ? I : null))
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
// Shuttles. // Shuttles.

View File

@@ -49,6 +49,7 @@
Log(message, message_title) Log(message, message_title)
datum/announcement/proc/Message(message as text, message_title as text) datum/announcement/proc/Message(message as text, message_title as text)
<<<<<<< HEAD
global_announcer.autosay("<span class='alert'>[message_title]:</span> [message]", announcer ? announcer : ANNOUNCER_NAME) global_announcer.autosay("<span class='alert'>[message_title]:</span> [message]", announcer ? announcer : ANNOUNCER_NAME)
datum/announcement/minor/Message(message as text, message_title as text) datum/announcement/minor/Message(message as text, message_title as text)
@@ -62,6 +63,40 @@ datum/announcement/priority/command/Message(message as text, message_title as te
datum/announcement/priority/security/Message(message as text, message_title as text) datum/announcement/priority/security/Message(message as text, message_title as text)
global_announcer.autosay("<span class='alert'>[message_title]:</span> [message]", ANNOUNCER_NAME) global_announcer.autosay("<span class='alert'>[message_title]:</span> [message]", ANNOUNCER_NAME)
=======
for(var/mob/M in player_list)
if(!istype(M,/mob/new_player) && !isdeaf(M))
to_chat(M, "<h2 class='alert'>[title]</h2>")
to_chat(M, "<span class='alert'>[message]</span>")
if (announcer)
to_chat(M, "<span class='alert'> -[html_encode(announcer)]</span>")
datum/announcement/minor/Message(message as text, message_title as text)
to_world("<b>[message]</b>")
datum/announcement/priority/Message(message as text, message_title as text)
to_world("<h1 class='alert'>[message_title]</h1>")
to_world("<span class='alert'>[message]</span>")
if(announcer)
to_world("<span class='alert'> -[html_encode(announcer)]</span>")
to_world("<br>")
datum/announcement/priority/command/Message(message as text, message_title as text)
var/command
command += "<h1 class='alert'>[command_name()] Update</h1>"
if (message_title)
command += "<br><h2 class='alert'>[message_title]</h2>"
command += "<br><span class='alert'>[message]</span><br>"
command += "<br>"
for(var/mob/M in player_list)
if(!istype(M,/mob/new_player) && !isdeaf(M))
to_chat(M, command)
datum/announcement/priority/security/Message(message as text, message_title as text)
to_world("<font size=4 color='red'>[message_title]</font>")
to_world("<font color='red'>[message]</font>")
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
datum/announcement/proc/NewsCast(message as text, message_title as text) datum/announcement/proc/NewsCast(message as text, message_title as text)
if(!newscast) if(!newscast)

View File

@@ -538,15 +538,15 @@ proc/get_nt_opposed()
set category = "OOC" set category = "OOC"
if(!ticker || !ticker.mode) if(!ticker || !ticker.mode)
to_chat(usr, "Something is terribly wrong; there is no gametype.") to_chat(usr, "<span class='warning'>Something is terribly wrong; there is no gametype.</span>")
return return
if(master_mode != "secret") if(master_mode != "secret")
to_chat(usr, "<b>The roundtype is [capitalize(ticker.mode.name)]</b>") to_chat(usr, "<span class='notice'><b>The roundtype is [capitalize(ticker.mode.name)]</b></span>")
if(ticker.mode.round_description) if(ticker.mode.round_description)
to_chat(usr, "<i>[ticker.mode.round_description]</i>") to_chat(usr, "<span class='notice'><i>[ticker.mode.round_description]</i></span>")
if(ticker.mode.extended_round_description) if(ticker.mode.extended_round_description)
to_chat(usr, "[ticker.mode.extended_round_description]") to_chat(usr, "<span class='notice'>[ticker.mode.extended_round_description]</span>")
else else
to_chat(usr, "<i>Shhhh</i>. It's a secret.") to_chat(usr, "<span class='notice'><i>Shhhh</i>. It's a secret.</span>")
return return

View File

@@ -177,6 +177,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
message_log += "<B>Message sent to [recipient]</B><BR>[message]" message_log += "<B>Message sent to [recipient]</B><BR>[message]"
else else
audible_message(text("[bicon(src)] *The Requests Console beeps: 'NOTICE: No server detected!'"),,4) audible_message(text("[bicon(src)] *The Requests Console beeps: 'NOTICE: No server detected!'"),,4)
<<<<<<< HEAD
//Handle printing //Handle printing
if (href_list["print"]) if (href_list["print"])
@@ -187,6 +188,8 @@ var/list/obj/machinery/requests_console/allConsoles = list()
var/obj/item/weapon/paper/R = new(src.loc) var/obj/item/weapon/paper/R = new(src.loc)
R.name = "[department] Message" R.name = "[department] Message"
R.info = "<H3>[department] Requests Console</H3><div>[msg]</div>" R.info = "<H3>[department] Requests Console</H3><div>[msg]</div>"
=======
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
//Handle screen switching //Handle screen switching
if(href_list["setScreen"]) if(href_list["setScreen"])

View File

@@ -71,4 +71,5 @@
msg += "[line]\n" msg += "[line]\n"
msg += "<b>Total Players: [length(Lines)]</b>" msg += "<b>Total Players: [length(Lines)]</b>"
msg = "<span class='info'>" + msg + "</span>"
to_chat(src, msg) to_chat(src, msg)

View File

@@ -6,7 +6,7 @@
set category = null set category = null
set name = "Admin PM Mob" set name = "Admin PM Mob"
if(!holder) if(!holder)
to_chat(src, "<font color='red'>Error: Admin-PM-Context: Only administrators may use this command.</font>") to_chat(src, "<span class='pm warning'>Error: Admin-PM-Context: Only administrators may use this command.</span>")
return return
if( !ismob(M) || !M.client ) if( !ismob(M) || !M.client )
return return
@@ -18,7 +18,7 @@
set category = "Admin" set category = "Admin"
set name = "Admin PM" set name = "Admin PM"
if(!holder) if(!holder)
to_chat(src, "<font color='red'>Error: Admin-PM-Panel: Only administrators may use this command.</font>") to_chat(src, "<span class='pm warning'>Error: Admin-PM-Panel: Only administrators may use this command.</span>")
return return
var/list/client/targets[0] var/list/client/targets[0]
for(var/client/T) for(var/client/T)
@@ -37,7 +37,7 @@
/client/proc/cmd_ahelp_reply(whom) /client/proc/cmd_ahelp_reply(whom)
if(prefs.muted & MUTE_ADMINHELP) if(prefs.muted & MUTE_ADMINHELP)
to_chat(src, "<font color='red'>Error: Admin-PM: You are unable to use admin PM-s (muted).</font>") to_chat(src, "<span class='pm warning'>Error: Admin-PM: You are unable to use admin PM-s (muted).</span>")
return return
var/client/C var/client/C
if(istext(whom)) if(istext(whom))
@@ -48,16 +48,16 @@
C = whom C = whom
if(!C) if(!C)
if(holder) if(holder)
to_chat(src, "<font color='red'>Error: Admin-PM: Client not found.</font>") to_chat(src, "<span class='pm warning'>Error: Admin-PM: Client not found.</span>")
return return
var/datum/admin_help/AH = C.current_ticket var/datum/admin_help/AH = C.current_ticket
if(AH) if(AH)
message_admins("[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.") message_admins("<span class='pm'>[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.</span>")
var/msg = input(src,"Message:", "Private message to [key_name(C, 0, 0)]") as text|null var/msg = input(src,"Message:", "Private message to [key_name(C, 0, 0)]") as text|null
if (!msg) if (!msg)
message_admins("[key_name_admin(src)] has cancelled their reply to [key_name(C, 0, 0)]'s admin help.") message_admins("<span class='pm'>[key_name_admin(src)] has cancelled their reply to [key_name(C, 0, 0)]'s admin help.</span>")
return return
cmd_admin_pm(whom, msg, AH) cmd_admin_pm(whom, msg, AH)
@@ -65,12 +65,12 @@
//Fetching a message if needed. src is the sender and C is the target client //Fetching a message if needed. src is the sender and C is the target client
/client/proc/cmd_admin_pm(whom, msg, datum/admin_help/AH) /client/proc/cmd_admin_pm(whom, msg, datum/admin_help/AH)
if(prefs.muted & MUTE_ADMINHELP) if(prefs.muted & MUTE_ADMINHELP)
to_chat(src, "<font color='red'>Error: Admin-PM: You are unable to use admin PM-s (muted).</font>") to_chat(src, "<span class='pm warning'>Error: Admin-PM: You are unable to use admin PM-s (muted).</span>")
return return
if(!holder && !current_ticket) //no ticket? https://www.youtube.com/watch?v=iHSPf6x1Fdo if(!holder && !current_ticket) //no ticket? https://www.youtube.com/watch?v=iHSPf6x1Fdo
to_chat(src, "<font color='red'>You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be.</font>") to_chat(src, "<span class='pm warning'>You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be.</span>")
to_chat(src, "<font color='blue'>Message: [msg]</font>") to_chat(src, "<span class='pm notice'>Message: [msg]</span>")
return return
var/client/recipient var/client/recipient
@@ -95,14 +95,14 @@
if(!msg) if(!msg)
return return
if(holder) if(holder)
to_chat(src, "<font color='red'>Error: Use the admin IRC channel, nerd.</font>") to_chat(src, "<span class='pm warning'>Error: Use the admin IRC channel, nerd.</span>")
return return
else else
if(!recipient) if(!recipient)
if(holder) if(holder)
to_chat(src, "<font color='red'>Error: Admin-PM: Client not found.</font>") to_chat(src, "<span class='pm warning'>Error: Admin-PM: Client not found.</span>")
to_chat(src, msg) to_chat(src, msg)
else else
current_ticket.MessageNoRecipient(msg) current_ticket.MessageNoRecipient(msg)
@@ -116,12 +116,12 @@
return return
if(prefs.muted & MUTE_ADMINHELP) if(prefs.muted & MUTE_ADMINHELP)
to_chat(src, "<font color='red'>Error: Admin-PM: You are unable to use admin PM-s (muted).</font>") to_chat(src, "<span class='pm warning'>Error: Admin-PM: You are unable to use admin PM-s (muted).</span>")
return return
if(!recipient) if(!recipient)
if(holder) if(holder)
to_chat(src, "<font color='red'>Error: Admin-PM: Client not found.</font>") to_chat(src, "<span class='pm warning'>Error: Admin-PM: Client not found.</span>")
else else
current_ticket.MessageNoRecipient(msg) current_ticket.MessageNoRecipient(msg)
return return
@@ -140,27 +140,27 @@
var/keywordparsedmsg = keywords_lookup(msg) var/keywordparsedmsg = keywords_lookup(msg)
if(irc) if(irc)
to_chat(src, "<font color='blue'>PM to-<b>Admins</b>: [rawmsg]</font>") to_chat(src, "<span class='pm notice'>PM to-<b>Admins</b>: [rawmsg]</span>")
admin_ticket_log(src, "<font color='red'>Reply PM from-<b>[key_name(src, TRUE, TRUE)]</b> to <i>IRC</i>: [keywordparsedmsg]</font>") admin_ticket_log(src, "<span class='pm warning'>Reply PM from-<b>[key_name(src, TRUE, TRUE)]</b> to <i>IRC</i>: [keywordparsedmsg]</span>")
ircreplyamount-- ircreplyamount--
send2irc("Reply: [ckey]",rawmsg) send2irc("Reply: [ckey]",rawmsg)
else else
if(recipient.holder) if(recipient.holder)
if(holder) //both are admins if(holder) //both are admins
to_chat(recipient, "<font color='red'>Admin PM from-<b>[key_name(src, recipient, 1)]</b>: [keywordparsedmsg]</font>") to_chat(recipient, "<span class='pm warning'>Admin PM from-<b>[key_name(src, recipient, 1)]</b>: [keywordparsedmsg]</span>")
to_chat(src, "<font color='blue'>Admin PM to-<b>[key_name(recipient, src, 1)]</b>: [keywordparsedmsg]</font>") to_chat(src, "<span class='pm notice'>Admin PM to-<b>[key_name(recipient, src, 1)]</b>: [keywordparsedmsg]</span>")
//omg this is dumb, just fill in both their tickets //omg this is dumb, just fill in both their tickets
var/interaction_message = "<font color='purple'>PM from-<b>[key_name(src, recipient, 1)]</b> to-<b>[key_name(recipient, src, 1)]</b>: [keywordparsedmsg]</font>" var/interaction_message = "<span class='pm notice'>PM from-<b>[key_name(src, recipient, 1)]</b> to-<b>[key_name(recipient, src, 1)]</b>: [keywordparsedmsg]</span>"
admin_ticket_log(src, interaction_message) admin_ticket_log(src, interaction_message)
if(recipient != src) //reeee if(recipient != src) //reeee
admin_ticket_log(recipient, interaction_message) admin_ticket_log(recipient, interaction_message)
else //recipient is an admin but sender is not else //recipient is an admin but sender is not
var/replymsg = "<font color='red'>Reply PM from-<b>[key_name(src, recipient, 1)]</b>: [keywordparsedmsg]</font>" var/replymsg = "<span class='pm warning'>Reply PM from-<b>[key_name(src, recipient, 1)]</b>: [keywordparsedmsg]</span>"
admin_ticket_log(src, replymsg) admin_ticket_log(src, replymsg)
to_chat(recipient, replymsg) to_chat(recipient, replymsg)
to_chat(src, "<font color='blue'>PM to-<b>Admins</b>: [msg]</font>") to_chat(src, "<span class='pm notice'>PM to-<b>Admins</b>: [msg]</span>")
//play the recieving admin the adminhelp sound (if they have them enabled) //play the recieving admin the adminhelp sound (if they have them enabled)
if(recipient.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping)) if(recipient.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping))
@@ -171,12 +171,12 @@
if(!recipient.current_ticket) if(!recipient.current_ticket)
new /datum/admin_help(msg, recipient, TRUE) new /datum/admin_help(msg, recipient, TRUE)
to_chat(recipient, "<font color='red' size='4'><b>-- Administrator private message --</b></font>") to_chat(recipient, "<span class='pm warning' size='4'><b>-- Administrator private message --</b></span>")
to_chat(recipient, "<font color='red'>Admin PM from-<b>[key_name(src, recipient, 0)]</b>: [msg]</font>") to_chat(recipient, "<span class='pm warning'>Admin PM from-<b>[key_name(src, recipient, 0)]</b>: [msg]</span>")
to_chat(recipient, "<font color='red'><i>Click on the administrator's name to reply.</i></font>") to_chat(recipient, "<span class='pm warning'><i>Click on the administrator's name to reply.</i></span>")
to_chat(src, "<font color='blue'>Admin PM to-<b>[key_name(recipient, src, 1)]</b>: [msg]</font>") to_chat(src, "<span class='pm notice'>Admin PM to-<b>[key_name(recipient, src, 1)]</b>: [msg]</span>")
admin_ticket_log(recipient, "<font color='blue'>PM From [key_name_admin(src)]: [keywordparsedmsg]</font>") admin_ticket_log(recipient, "<span class='pm notice'>PM From [key_name_admin(src)]: [keywordparsedmsg]</span>")
//always play non-admin recipients the adminhelp sound //always play non-admin recipients the adminhelp sound
recipient << 'sound/effects/adminhelp.ogg' recipient << 'sound/effects/adminhelp.ogg'
@@ -195,19 +195,19 @@
return return
else //neither are admins else //neither are admins
to_chat(src, "<font color='red'>Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.</font>") to_chat(src, "<span class='pm warning'>Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.</span>")
return return
if(irc) if(irc)
log_admin("PM: [key_name(src)]->IRC: [rawmsg]") log_admin("PM: [key_name(src)]->IRC: [rawmsg]")
for(var/client/X in admins) for(var/client/X in admins)
to_chat(X, "<font color='blue'><B>PM: [key_name(src, X, 0)]-&gt;IRC:</B> [keywordparsedmsg]</font>") to_chat(X, "<span class='pm notice'><B>PM: [key_name(src, X, 0)]-&gt;IRC:</B> [keywordparsedmsg]</span>")
else else
log_admin("PM: [key_name(src)]->[key_name(recipient)]: [rawmsg]") log_admin("PM: [key_name(src)]->[key_name(recipient)]: [rawmsg]")
//we don't use message_admins here because the sender/receiver might get it too //we don't use message_admins here because the sender/receiver might get it too
for(var/client/X in admins) for(var/client/X in admins)
if(X.key!=key && X.key!=recipient.key) //check client/X is an admin and isn't the sender or recipient if(X.key!=key && X.key!=recipient.key) //check client/X is an admin and isn't the sender or recipient
to_chat(X, "<font color='blue'><B>PM: [key_name(src, X, 0)]-&gt;[key_name(recipient, X, 0)]:</B> [keywordparsedmsg]</font>" ) to_chat(X, "<span class='pm notice'><B>PM: [key_name(src, X, 0)]-&gt;[key_name(recipient, X, 0)]:</B> [keywordparsedmsg]</span>" )
/proc/IrcPm(target,msg,sender) /proc/IrcPm(target,msg,sender)
var/client/C = GLOB.directory[target] var/client/C = GLOB.directory[target]
@@ -256,11 +256,11 @@
message_admins("IRC message from [sender] to [key_name_admin(C)] : [msg]") message_admins("IRC message from [sender] to [key_name_admin(C)] : [msg]")
log_admin("IRC PM: [sender] -> [key_name(C)] : [msg]") log_admin("IRC PM: [sender] -> [key_name(C)] : [msg]")
to_chat(C, "<font color='red' size='4'><b>-- Administrator private message --</b></font>") to_chat(C, "<span class='pm warning'><font size='4'><b>-- Administrator private message --</b></font></span>")
to_chat(C, "<font color='red'>Admin PM from-<b><a href='?priv_msg=[stealthkey]'>[adminname]</A></b>: [msg]</font>") to_chat(C, "<span class='pm warning'>Admin PM from-<b><a href='?priv_msg=[stealthkey]'>[adminname]</A></b>: [msg]</span>")
to_chat(C, "<font color='red'><i>Click on the administrator's name to reply.</i></font>") to_chat(C, "<span class='pm warning'><i>Click on the administrator's name to reply.</i></span>")
admin_ticket_log(C, "<font color='blue'>PM From [irc_tagged]: [msg]</font>") admin_ticket_log(C, "<span class='pm notice'>PM From [irc_tagged]: [msg]</span>")
window_flash(C, ignorepref = TRUE) window_flash(C, ignorepref = TRUE)
//always play non-admin recipients the adminhelp sound //always play non-admin recipients the adminhelp sound

View File

@@ -29,6 +29,7 @@ You can set verify to TRUE if you want send() to sleep until the client has the
//This proc sends the asset to the client, but only if it needs it. //This proc sends the asset to the client, but only if it needs it.
//This proc blocks(sleeps) unless verify is set to false //This proc blocks(sleeps) unless verify is set to false
/proc/send_asset(var/client/client, var/asset_name, var/verify = TRUE) /proc/send_asset(var/client/client, var/asset_name, var/verify = TRUE)
<<<<<<< HEAD
if(!istype(client)) if(!istype(client))
if(ismob(client)) if(ismob(client))
var/mob/M = client var/mob/M = client
@@ -40,6 +41,11 @@ You can set verify to TRUE if you want send() to sleep until the client has the
else else
return 0 return 0
=======
client = CLIENT_FROM_VAR(client) // Will get client from a mob, or accept a client, or return null
if(!istype(client))
return 0
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
if(client.cache.Find(asset_name) || client.sending.Find(asset_name)) if(client.cache.Find(asset_name) || client.sending.Find(asset_name))
return 0 return 0
@@ -73,6 +79,7 @@ You can set verify to TRUE if you want send() to sleep until the client has the
//This proc blocks(sleeps) unless verify is set to false //This proc blocks(sleeps) unless verify is set to false
/proc/send_asset_list(var/client/client, var/list/asset_list, var/verify = TRUE) /proc/send_asset_list(var/client/client, var/list/asset_list, var/verify = TRUE)
<<<<<<< HEAD
if(!istype(client)) if(!istype(client))
if(ismob(client)) if(ismob(client))
var/mob/M = client var/mob/M = client
@@ -84,6 +91,11 @@ You can set verify to TRUE if you want send() to sleep until the client has the
else else
return 0 return 0
=======
client = CLIENT_FROM_VAR(client) // Will get client from a mob, or accept a client, or return null
if(!istype(client))
return 0
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
var/list/unreceived = asset_list - (client.cache + client.sending) var/list/unreceived = asset_list - (client.cache + client.sending)
if(!unreceived || !unreceived.len) if(!unreceived || !unreceived.len)

View File

@@ -124,7 +124,10 @@ body.inverted {
.emote {} .emote {}
.alert {color: #ff0000;} .alert {color: #ff0000;}
h1.alert, h2.alert {color: #000000;} h1.alert, h2.alert {color: #000000;}
<<<<<<< HEAD
.nif {} /* VOREStation Add */ .nif {} /* VOREStation Add */
=======
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
/* Game Messages */ /* Game Messages */
@@ -157,7 +160,11 @@ h1.alert, h2.alert {color: #000000;}
.soghun {color: #228B22;} .soghun {color: #228B22;}
.solcom {color: #22228B;} .solcom {color: #22228B;}
.changeling {color: #800080;} .changeling {color: #800080;}
<<<<<<< HEAD
.sergal {color: #0077FF;} .sergal {color: #0077FF;}
=======
.sergal {color: #0077FF; font-family: "Comic Sans MS";}
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
.birdsongc {color: #CC9900;} .birdsongc {color: #CC9900;}
.vulpkanin {color: #B97A57;} .vulpkanin {color: #B97A57;}
.enochian {color: #848A33; letter-spacing:-1pt; word-spacing:4pt; font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;} .enochian {color: #848A33; letter-spacing:-1pt; word-spacing:4pt; font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;}

View File

@@ -152,7 +152,11 @@ function start_vue() {
admin: false admin: false
}, },
{ {
<<<<<<< HEAD
matches: ".notice, .adminnotice, .info, .sinister, .cult", matches: ".notice, .adminnotice, .info, .sinister, .cult",
=======
matches: ".notice:not(.pm), .adminnotice, .info, .sinister, .cult",
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
becomes: "vc_info", becomes: "vc_info",
pretty: "Notices", pretty: "Notices",
tooltip: "Non-urgent messages from the game and items", tooltip: "Non-urgent messages from the game and items",
@@ -160,7 +164,11 @@ function start_vue() {
admin: false admin: false
}, },
{ {
<<<<<<< HEAD
matches: ".critical, .danger, .userdanger, .warning, .italics", matches: ".critical, .danger, .userdanger, .warning, .italics",
=======
matches: ".critical, .danger, .userdanger, .warning:not(.pm), .italics",
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
becomes: "vc_warnings", becomes: "vc_warnings",
pretty: "Warnings", pretty: "Warnings",
tooltip: "Urgent messages from the game and items", tooltip: "Urgent messages from the game and items",
@@ -183,6 +191,7 @@ function start_vue() {
required: false, required: false,
admin: false admin: false
}, },
<<<<<<< HEAD
//VOREStation Add Start //VOREStation Add Start
{ {
matches: ".nif", matches: ".nif",
@@ -193,6 +202,8 @@ function start_vue() {
admin: false admin: false
}, },
//VOREStation Add End //VOREStation Add End
=======
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
{ {
matches: ".pm", matches: ".pm",
becomes: "vc_adminpm", becomes: "vc_adminpm",
@@ -674,7 +685,11 @@ function start_vue() {
hiddenElement.target = '_blank'; hiddenElement.target = '_blank';
hiddenElement.download = filename; hiddenElement.download = filename;
hiddenElement.click(); hiddenElement.click();
<<<<<<< HEAD
//Probably what will end up getting used //Probably what will end up getting used
=======
//Probably what will end up getting used
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
} else { } else {
var blob = new Blob([textToSave], {type: 'text/html;charset=utf8;'}); var blob = new Blob([textToSave], {type: 'text/html;charset=utf8;'});
saved = window.navigator.msSaveOrOpenBlob(blob, filename); saved = window.navigator.msSaveOrOpenBlob(blob, filename);

View File

@@ -103,7 +103,11 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
owner << browse(file2text("code/modules/vchat/html/vchat.html"), "window=htmloutput") owner << browse(file2text("code/modules/vchat/html/vchat.html"), "window=htmloutput")
//Check back later //Check back later
<<<<<<< HEAD
spawn(15 SECONDS) spawn(15 SECONDS)
=======
spawn(60 SECONDS)
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
if(!src) if(!src)
return return
if(!src.loaded) if(!src.loaded)
@@ -140,6 +144,13 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
/datum/chatOutput/proc/become_broken() /datum/chatOutput/proc/become_broken()
broken = TRUE broken = TRUE
loaded = FALSE loaded = FALSE
<<<<<<< HEAD
=======
if(!owner)
qdel(src)
return
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
update_vis() update_vis()

View File

@@ -110,7 +110,7 @@
if(holder) if(holder)
to_chat(holder, "the [bicon(src)] [src] held by [holder] shudders in your grasp.") to_chat(holder, "the [bicon(src)] [src] held by [holder] shudders in your grasp.")
else else
src.loc.visible_message("the \icon[src] [src] shudders.") src.loc.visible_message("the [bicon(src)] [src] shudders.")
//consume power //consume power
inserted_battery.use_power(energy_consumed_on_touch) inserted_battery.use_power(energy_consumed_on_touch)

View File

@@ -16,10 +16,10 @@ em {font-style: normal;font-weight: bold;}
/* OOC */ /* OOC */
.ooc {font-weight: bold;} .ooc {font-weight: bold;}
.looc {color: #3A9696;}
.ooc img.text_tag {width: 32px; height: 10px;} .ooc img.text_tag {width: 32px; height: 10px;}
.ooc .everyone {color: #002eb8;} .ooc .everyone {color: #002eb8;}
.ooc .looc {color: #3A9696;}
.ooc .elevated {color: #2e78d9;} .ooc .elevated {color: #2e78d9;}
.ooc .moderator {color: #184880;} .ooc .moderator {color: #184880;}
.ooc .developer {color: #1b521f;} .ooc .developer {color: #1b521f;}

View File

@@ -474,9 +474,12 @@ macro "hotkeymode"
elem elem
name = "5" name = "5"
command = ".me" command = ".me"
<<<<<<< HEAD
elem elem
name = "6" name = "6"
command = "subtle" command = "subtle"
=======
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
elem elem
name = "A+REP" name = "A+REP"
command = ".moveleft" command = ".moveleft"
@@ -1251,6 +1254,10 @@ window "outputwindow"
style = ".system {color:#FF0000;}" style = ".system {color:#FF0000;}"
max-lines = 0 max-lines = 0
saved-params = "" saved-params = ""
<<<<<<< HEAD
=======
enable-http-images = true
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
window "rpane" window "rpane"
elem "rpane" elem "rpane"
@@ -1417,6 +1424,10 @@ window "infowindow"
is-default = true is-default = true
saved-params = "" saved-params = ""
highlight-color = #00aa00 highlight-color = #00aa00
<<<<<<< HEAD
=======
allow-html = true
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761)
on-show = ".winset\"rpane.infob.is-visible=true;rpane.browseb.is-visible=true?rpane.infob.pos=130,0:rpane.infob.pos=65,0 rpane.textb.is-visible=true rpane.infob.is-checked=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=infowindow\"" on-show = ".winset\"rpane.infob.is-visible=true;rpane.browseb.is-visible=true?rpane.infob.pos=130,0:rpane.infob.pos=65,0 rpane.textb.is-visible=true rpane.infob.is-checked=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=infowindow\""
on-hide = ".winset\"rpane.infob.is-visible=false;rpane.browseb.is-visible=true?rpane.browseb.is-checked=true rpane.rpanewindow.left=browserwindow:rpane.textb.is-visible=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=\"" on-hide = ".winset\"rpane.infob.is-visible=false;rpane.browseb.is-visible=true?rpane.browseb.is-checked=true rpane.rpanewindow.left=browserwindow:rpane.textb.is-visible=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=\""

View File

@@ -121,7 +121,7 @@
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey)) if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey))
for(var/mob/O in viewers(world.view, src.loc)) for(var/mob/O in viewers(world.view, src.loc))
to_chat(O, "<font color='red'>[M] triggered the \icon[src] [src]</font>") to_chat(O, "<font color='red'>[M] triggered the [bicon(src)] [src]</font>")
triggered = 1 triggered = 1
call(src,triggerproc)(M) call(src,triggerproc)(M)

View File

@@ -1654,7 +1654,10 @@
#include "code\modules\catalogue\catalogue_data_vr.dm" #include "code\modules\catalogue\catalogue_data_vr.dm"
#include "code\modules\catalogue\cataloguer.dm" #include "code\modules\catalogue\cataloguer.dm"
#include "code\modules\catalogue\cataloguer_visuals.dm" #include "code\modules\catalogue\cataloguer_visuals.dm"
<<<<<<< HEAD:vorestation.dme
#include "code\modules\catalogue\cataloguer_vr.dm" #include "code\modules\catalogue\cataloguer_vr.dm"
=======
>>>>>>> 715de43... VChat: Redone chat output done in Vue.js (#6761):polaris.dme
#include "code\modules\client\asset_cache.dm" #include "code\modules\client\asset_cache.dm"
#include "code\modules\client\client defines.dm" #include "code\modules\client\client defines.dm"
#include "code\modules\client\client procs.dm" #include "code\modules\client\client procs.dm"