/mob/dead/Login() . = ..() var/turf/T = get_turf(src) if (isturf(T)) update_z(T.z) /mob/dead/Logout() update_z(null) return ..() /mob/dead/forceMove(atom/destination) var/turf/old_turf = get_turf(src) var/turf/new_turf = get_turf(destination) if (old_turf?.z != new_turf?.z) onTransitZ(old_turf?.z, new_turf?.z) var/oldloc = loc loc = destination Moved(oldloc, NONE, TRUE) /mob/dead/onTransitZ(old_z,new_z) ..() update_z(new_z) /mob/dead/proc/update_z(new_z) // 1+ to register, null to unregister if (registered_z != new_z) if (registered_z) SSmobs.dead_players_by_zlevel[registered_z] -= src if (client) if (new_z) SSmobs.dead_players_by_zlevel[new_z] += src registered_z = new_z else registered_z = null