mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
- Added a thing to remove screen obj references to logout in addition to being called in destroy instead of relying fully on the reset screen obj proc. - Moved some hud creation from AI to the hud datums where it should have been, might fix an issue or two - My teeth still hurt from the dentist - Adds robot module backgrounds to one of the screen objs that should be removed on logout as well so all screen objs should always be accounted for going in/out Man you have to be reeeally careful with pooling about this kind of shit.
27 lines
892 B
Plaintext
27 lines
892 B
Plaintext
/mob/Logout()
|
|
if (isobj(loc))
|
|
var/obj/location = loc
|
|
location.on_log()
|
|
|
|
for(var/mob/virtualhearer/VH in virtualhearers)
|
|
if(VH.attached == src)
|
|
returnToPool(VH)
|
|
|
|
nanomanager.user_logout(src) // this is used to clean up (remove) this user's Nano UIs
|
|
|
|
player_list -= src
|
|
|
|
log_access("Logout: [key_name(src)] ([formatLocation(loc)])")
|
|
|
|
remove_screen_objs() //Used to remove hud elements
|
|
|
|
if(admin_datums[src.ckey])
|
|
if (ticker && ticker.current_state == GAME_STATE_PLAYING) //Only report this stuff if we are currently playing.
|
|
var/admins_number = admins.len
|
|
|
|
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.
|
|
send2adminirc("[key_name(src)] logged out - no more admins online.")
|
|
|
|
..()
|