package org.openrs2.protocol.login.downstream import org.openrs2.protocol.Packet public sealed class LoginResponse : Packet { public data class ExchangeSessionKey(val key: Long) : LoginResponse() public object ShowVideoAd : LoginResponse() public object InvalidUsernameOrPassword : LoginResponse() public object Banned : LoginResponse() public object Duplicate : LoginResponse() public object ClientOutOfDate : LoginResponse() public object ServerFull : LoginResponse() public object LoginServerOffline : LoginResponse() public object IpLimit : LoginResponse() public object BadSessionId : LoginResponse() public object ForcePasswordChange : LoginResponse() public object NeedMembersAccount : LoginResponse() public object InvalidSave : LoginResponse() public object UpdateInProgress : LoginResponse() public object ReconnectOk : LoginResponse() public object TooManyAttempts : LoginResponse() public object MapMembersOnly : LoginResponse() public object Locked : LoginResponse() public object FullscreenMembersOnly : LoginResponse() public object InvalidLoginServer : LoginResponse() public data class HopBlocked(public val time: Int) : LoginResponse() public object InvalidLoginPacket : LoginResponse() public object NoReplyFromLoginServer : LoginResponse() public object LoginServerLoadError : LoginResponse() public object UnknownReplyFromLoginServer : LoginResponse() public object IpBlocked : LoginResponse() public object ServiceUnavailable : LoginResponse() public data class DisallowedByScript(val reason: Int) : LoginResponse() public object ClientMembersOnly : LoginResponse() public data class SwitchWorld(val id: Int) : LoginResponse() }