60 lines
1.6 KiB
Plaintext
60 lines
1.6 KiB
Plaintext
/mob/Login()
|
|
GLOB.player_list |= src
|
|
lastKnownIP = client.address
|
|
computer_id = client.computer_id
|
|
log_access("Mob Login: [key_name(src)] was assigned to a [type]")
|
|
world.update_status()
|
|
client.screen = list() //remove hud items just in case
|
|
client.images = list()
|
|
|
|
if(!hud_used)
|
|
create_mob_hud()
|
|
if(hud_used)
|
|
hud_used.show_hud(hud_used.hud_version)
|
|
hud_used.update_ui_style(ui_style2icon(client.prefs.UI_style))
|
|
|
|
. = ..()
|
|
|
|
reset_perspective(loc)
|
|
|
|
if(loc)
|
|
loc.on_log(TRUE)
|
|
|
|
//readd this mob's HUDs (antag, med, etc)
|
|
reload_huds()
|
|
|
|
reload_fullscreen() // Reload any fullscreen overlays this mob has.
|
|
|
|
add_click_catcher()
|
|
|
|
sync_mind()
|
|
|
|
//Reload alternate appearances
|
|
for(var/v in GLOB.active_alternate_appearances)
|
|
if(!v)
|
|
continue
|
|
var/datum/atom_hud/alternate_appearance/AA = v
|
|
AA.onNewMob(src)
|
|
|
|
update_client_colour()
|
|
update_mouse_pointer()
|
|
if(client)
|
|
client.change_view(CONFIG_GET(string/default_view)) // Resets the client.view in case it was changed.
|
|
|
|
if(client.player_details && istype(client.player_details))
|
|
if(client.player_details.player_actions.len)
|
|
for(var/datum/action/A in client.player_details.player_actions)
|
|
A.Grant(src)
|
|
|
|
for(var/foo in client.player_details.post_login_callbacks)
|
|
var/datum/callback/CB = foo
|
|
CB.Invoke()
|
|
|
|
mind?.hide_ckey = client?.prefs?.hide_ckey
|
|
|
|
log_message("Client [key_name(src)] has taken ownership of mob [src]([src.type])", LOG_OWNERSHIP)
|
|
SEND_SIGNAL(src, COMSIG_MOB_CLIENT_LOGIN, client)
|
|
|
|
if(has_field_of_vision && CONFIG_GET(flag/use_field_of_vision))
|
|
LoadComponent(/datum/component/field_of_vision, field_of_vision_type)
|