mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
VChat: Redone chat output in Vue.js
Co-authored-by: Leshana <Leshana@users.noreply.github.com>
This commit is contained in:
@@ -24,6 +24,8 @@
|
||||
var/area = null
|
||||
var/time_died_as_mouse = null //when the client last died as a mouse
|
||||
var/datum/tooltip/tooltips = null
|
||||
var/datum/chatOutput/chatOutput
|
||||
var/chatOutputLoadedAt
|
||||
|
||||
var/adminhelped = 0
|
||||
|
||||
|
||||
@@ -60,8 +60,6 @@
|
||||
send2adminirc(href_list["irc_msg"])
|
||||
return
|
||||
|
||||
|
||||
|
||||
//Logs all hrefs
|
||||
if(config && config.log_hrefs && href_logfile)
|
||||
WRITE_LOG(href_logfile, "[src] (usr:[usr])</small> || [hsrc ? "[hsrc] " : ""][href]")
|
||||
@@ -71,6 +69,11 @@
|
||||
if("usr") hsrc = mob
|
||||
if("prefs") return prefs.process_link(usr,href_list)
|
||||
if("vars") return view_var_Topic(href,href_list,hsrc)
|
||||
if("chat") return chatOutput.Topic(href, href_list)
|
||||
|
||||
switch(href_list["action"])
|
||||
if("openLink")
|
||||
src << link(href_list["link"])
|
||||
|
||||
..() //redirect to hsrc.Topic()
|
||||
|
||||
@@ -105,8 +108,14 @@
|
||||
del(src)
|
||||
return
|
||||
|
||||
to_chat(src, "<font color='red'>If the title screen is black, resources are still downloading. Please be patient until the title screen appears.</font>")
|
||||
chatOutput = new /datum/chatOutput(src) //veechat
|
||||
chatOutput.send_resources()
|
||||
spawn()
|
||||
chatOutput.start()
|
||||
|
||||
//Only show this if they are put into a new_player mob. Otherwise, "what title screen?"
|
||||
if(isnewplayer(src.mob))
|
||||
to_chat(src, "<font color='red'>If the title screen is black, resources are still downloading. Please be patient until the title screen appears.</font>")
|
||||
|
||||
GLOB.clients += src
|
||||
GLOB.directory[ckey] = src
|
||||
@@ -159,14 +168,14 @@
|
||||
void.MakeGreed()
|
||||
screen += void
|
||||
|
||||
if(prefs.lastchangelog != changelog_hash) //bolds the changelog button on the interface so we know there are updates.
|
||||
if((prefs.lastchangelog != changelog_hash) && isnewplayer(src.mob)) //bolds the changelog button on the interface so we know there are updates.
|
||||
to_chat(src, "<span class='info'>You have unread updates in the changelog.</span>")
|
||||
winset(src, "rpane.changelog", "background-color=#eaeaea;font-style=bold")
|
||||
if(config.aggressive_changelog)
|
||||
src.changes()
|
||||
|
||||
hook_vr("client_new",list(src)) //VOREStation Code
|
||||
|
||||
|
||||
if(config.paranoia_logging)
|
||||
var/alert = FALSE //VOREStation Edit start.
|
||||
if(isnum(player_age) && player_age == 0)
|
||||
@@ -441,6 +450,26 @@ client/verb/character_setup()
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/client/verb/reload_vchat()
|
||||
set name = "Reload VChat"
|
||||
set category = "OOC"
|
||||
|
||||
//Timing
|
||||
if(src.chatOutputLoadedAt > (world.time - 10 SECONDS))
|
||||
alert(src, "You can only try to reload VChat every 10 seconds at most.")
|
||||
return
|
||||
|
||||
//Log, disable
|
||||
log_debug("[key_name(src)] reloaded VChat.")
|
||||
|
||||
//The hard way
|
||||
qdel_null(src.chatOutput)
|
||||
chatOutput = new /datum/chatOutput(src) //veechat
|
||||
chatOutput.send_resources()
|
||||
spawn()
|
||||
chatOutput.start()
|
||||
|
||||
|
||||
//This is for getipintel.net.
|
||||
//You're welcome to replace this proc with your own that does your own cool stuff.
|
||||
//Just set the client's ip_reputation var and make sure it makes sense with your config settings (higher numbers are worse results)
|
||||
|
||||
Reference in New Issue
Block a user