mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-18 06:01:56 +00:00
* Better notifications * Add buttons to del/move tabs in edit mode * Add a <span> to emotes * Fix duplicate IDs in VChat and add more logging * VChat: Redone chat output in Vue.js * Ported tg asset cache * VChat DME Update * Replace \image macro with bicon() * NanoUI Subsystem Fixes Don't do this, the asset subsystem does this for you * Allow narrate/globalnarrate shenanigans Allows HTML if your entire thing is HTML * Disable bicon() icon object cache, and create text tag cache * Ore Scanner is written incorrectly Only revealed by vchat * Fixes 2 VChat bugs * Underline links in VChat * Fix LOOC color * VChat Improvements Hopefully, anyway. - Arbitrary font size setting - Line height setting - Multiple crush settings - Rewrote how tabs work hopefully for performance - Hidden messages are actually put elsewhere - Attempts to correct chat backlog restore on rejoin * Surgery steps to use <span> * Some VChat Tweaks - Chat remains between client reconnects if your client didn't close (so things like using the reconnect button, or autoreconnects at round end when that feels like working) - The client doesn't send pings to the server, the server sends pings to the client. This fixes AFK measurements for AFK kick purposes. - Turn latency indicator into a green/red indicator to show if you're connected, and when clicked will perform a one-time ping (and block doing it again for 10 seconds). It will display '?ms' if it never got a reply, or '999ms' if it did, but it was over 1s. * Include date in filename for VChat log save * Merge pull request #6767 from Cyantime/patch-2 Change chat export naming scheme * Adds VChat tab saving Saves every time you enter/exit edit mode. Persists between rounds, VChat reloads via verb, etc. * Fix chat exporting when someone has used unicode Only affects clients still using 512 * Use CLIENT_FROM_VAR for ease of code reading * Update code/modules/client/asset_cache.dm Co-Authored-By: Novacat <35587478+Novacat@users.noreply.github.com> * Fix runtime when client disconnects before vchat loads * Fix polaris version of command reports * Fix LOOC color in oldchat * Put some styles in various adminpm messages * Round info and advanced who spans * Fix missing tag-end * Maybe fix images for linux and statpanel but also doom everyone Co-authored-by: ShadowLarkens <ShadowLarkens@users.noreply.github.com> Co-authored-by: Novacat <35587478+Novacat@users.noreply.github.com>
75 lines
2.0 KiB
Plaintext
75 lines
2.0 KiB
Plaintext
|
|
/client/verb/who_advanced()
|
|
set name = "Advanced Who"
|
|
set category = "OOC"
|
|
|
|
var/msg = "<b>Current Players:</b>\n"
|
|
|
|
var/list/Lines = list()
|
|
|
|
if(holder && (R_ADMIN & holder.rights || R_MOD & holder.rights))
|
|
for(var/client/C in GLOB.clients)
|
|
var/entry = "\t[C.key]"
|
|
if(C.holder && C.holder.fakekey)
|
|
entry += " <i>(as [C.holder.fakekey])</i>"
|
|
entry += " - Playing as [C.mob.real_name]"
|
|
switch(C.mob.stat)
|
|
if(UNCONSCIOUS)
|
|
entry += " - <font color='darkgray'><b>Unconscious</b></font>"
|
|
if(DEAD)
|
|
if(isobserver(C.mob))
|
|
var/mob/observer/dead/O = C.mob
|
|
if(O.started_as_observer)
|
|
entry += " - <font color='gray'>Observing</font>"
|
|
else
|
|
entry += " - <font color='black'><b>DEAD</b></font>"
|
|
else
|
|
entry += " - <font color='black'><b>DEAD</b></font>"
|
|
|
|
var/age
|
|
if(isnum(C.player_age))
|
|
age = C.player_age
|
|
else
|
|
age = 0
|
|
|
|
if(age <= 1)
|
|
age = "<font color='#ff0000'><b>[age]</b></font>"
|
|
else if(age < 10)
|
|
age = "<font color='#ff8c00'><b>[age]</b></font>"
|
|
|
|
entry += " - [age]"
|
|
|
|
if(is_special_character(C.mob))
|
|
entry += " - <b><font color='red'>Antagonist</font></b>"
|
|
|
|
if(C.is_afk())
|
|
var/seconds = C.last_activity_seconds()
|
|
entry += " (AFK - "
|
|
entry += "[round(seconds / 60)] minutes, "
|
|
entry += "[seconds % 60] seconds)"
|
|
|
|
entry += " (<A HREF='?_src_=holder;adminmoreinfo=\ref[C.mob]'>?</A>)"
|
|
|
|
Lines += entry
|
|
else
|
|
for(var/client/C in GLOB.clients)
|
|
var/entry = "\t"
|
|
if(C.holder && C.holder.fakekey)
|
|
entry += "[C.holder.fakekey]"
|
|
else
|
|
entry += "[C.key]"
|
|
var/mob/observer/dead/O = C.mob
|
|
if(isobserver(O))
|
|
entry += " - <font color='gray'>Observing</font>"
|
|
else if(istype(O,/mob/new_player))
|
|
entry += " - <font color='blue'>In Lobby</font>"
|
|
else
|
|
entry += " - <font color='green'>Playing</font>"
|
|
Lines += entry
|
|
|
|
for(var/line in sortList(Lines))
|
|
msg += "[line]\n"
|
|
|
|
msg += "<b>Total Players: [length(Lines)]</b>"
|
|
msg = "<span class='info'>" + msg + "</span>"
|
|
to_chat(src, msg) |