aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/CharacterHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 0385b8f1a39..4333ec5ba1e 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -794,17 +794,7 @@ void WorldSession::HandlePlayerLoginOpcode(WorldPackets::Character::PlayerLogin&
return;
}
- boost::system::error_code ignored_error;
- boost::asio::ip::tcp::endpoint instanceAddress = realm.GetAddressForClient(boost::asio::ip::address::from_string(GetRemoteAddress(), ignored_error));
- instanceAddress.port(sWorld->getIntConfig(CONFIG_PORT_INSTANCE));
-
- WorldPackets::Auth::ConnectTo connectTo;
- connectTo.Key = MAKE_PAIR64(GetAccountId(), CONNECTION_TYPE_INSTANCE);
- connectTo.Serial = 1;
- connectTo.Payload.Where = instanceAddress;
- connectTo.Con = CONNECTION_TYPE_INSTANCE;
-
- SendPacket(connectTo.Write());
+ SendConnectToInstance(WorldPackets::Auth::ConnectToSerial::WorldAttempt1);
}
void WorldSession::HandleContinuePlayerLogin()
@@ -826,6 +816,18 @@ void WorldSession::HandleContinuePlayerLogin()
_charLoginCallback = CharacterDatabase.DelayQueryHolder(holder);
}
+void WorldSession::AbortLogin(WorldPackets::Character::LoginFailureReason reason)
+{
+ if (!PlayerLoading() || GetPlayer())
+ {
+ KickPlayer();
+ return;
+ }
+
+ m_playerLoading.Clear();
+ SendPacket(WorldPackets::Character::CharacterLoginFailed(reason).Write());
+}
+
void WorldSession::HandleLoadScreenOpcode(WorldPackets::Character::LoadingScreenNotify& /*loadingScreenNotify*/)
{
// TODO: Do something with this packet