mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-19 11:58:39 +01:00
cca0dfe7b6
Part one of our nefarious plans to destroy lag forever, and also accomplish some cool shit. This replaces our renderer system with plane masters, this will also be used to turn skyboxes into backdrops and thus totally remove skybox updating lag. Additionally, this will let us manipulate entire planes very easily to do all sorts of zany shit. All credit goes to the original coders, this is some seriously cool stuff. Also fixes some bizarre smoothing behaviour, reduces updateoverlays calls since now not every single structure in the game tries smoothing with nothing. <img width="1349" height="1349" alt="image" src="https://github.com/user-attachments/assets/9b7cecd7-3c47-448b-9dd8-9b904640bf82" /> <img width="1349" height="1349" alt="image" src="https://github.com/user-attachments/assets/647d75a2-1bff-45ca-ab92-0aea10631afd" /> --------- Co-authored-by: Matt Atlas <liermattia@gmail.com>
40 lines
1.6 KiB
Plaintext
40 lines
1.6 KiB
Plaintext
/mob/Logout()
|
|
SHOULD_CALL_PARENT(TRUE)
|
|
SEND_SIGNAL(src, COMSIG_MOB_LOGOUT)
|
|
|
|
//TGUI
|
|
remove_all_indicators()
|
|
|
|
SSnanoui.user_logout(src) // this is used to clean up (remove) this user's Nano UIs
|
|
GLOB.player_list -= src
|
|
disconnect_time = world.realtime
|
|
log_access("Logout: [key_name(src)]")
|
|
SSstatistics.update_status()
|
|
clear_important_client_contents()
|
|
|
|
my_client = null
|
|
|
|
if(admin_datums[src.ckey])
|
|
var/datum/admins/A = admin_datums[src.ckey]
|
|
if (A.rights & (R_MOD|R_ADMIN) && SSticker.current_state == GAME_STATE_PLAYING) //Only report this stuff if we are currently playing.
|
|
var/admins_number = 0
|
|
var/admins_number_afk = 0
|
|
for (var/client/C in GLOB.clients)
|
|
if (C.holder && (C.holder.rights & (R_MOD|R_ADMIN)))
|
|
admins_number++
|
|
if (C.is_afk())
|
|
admins_number_afk++
|
|
|
|
message_admins("Admin logout: [key_name(src)]")
|
|
|
|
if (admins_number == 0) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell.
|
|
SSdiscord.post_webhook_event(WEBHOOK_ADMIN_IMPORTANT, list("title"="Admin has logged out", "message"="**[key_name(src)]** logged out - no more admins online."))
|
|
SSdiscord.send_to_admins("@here [key_name(src)] logged out - no more admins online.")
|
|
else if ((admins_number - admins_number_afk) <= 0)
|
|
SSdiscord.post_webhook_event(WEBHOOK_ADMIN, list("title"="Admin has logged out", "message"="**[key_name(src)]** logged out - only AFK admins _([admins_number_afk])_ are online."))
|
|
SSdiscord.send_to_admins("[key_name(src)] logged out - only AFK admins ([admins_number_afk]) are online.")
|
|
|
|
if (mob_thinks)
|
|
MOB_START_THINKING(src)
|
|
..()
|