Merge branch 'master' into Playerbot

# Conflicts:
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
This commit is contained in:
郑佩茹
2022-12-07 14:46:21 -07:00
196 changed files with 9181 additions and 1080 deletions

View File

@@ -314,14 +314,12 @@ void World::AddSession_(WorldSession* s)
if (pLimit > 0 && Sessions >= pLimit && AccountMgr::IsPlayerAccount(s->GetSecurity()) && !s->CanSkipQueue() && !HasRecentlyDisconnected(s))
{
AddQueuedPlayer (s);
AddQueuedPlayer(s);
UpdateMaxSessionCounters();
return;
}
s->SendAuthResponse(AUTH_OK, true);
FinalizePlayerWorldSession(s);
s->InitializeSession();
UpdateMaxSessionCounters();
}
@@ -401,13 +399,7 @@ bool World::RemoveQueuedPlayer(WorldSession* sess)
if ((!GetPlayerAmountLimit() || sessions < GetPlayerAmountLimit()) && !m_QueuedPlayer.empty())
{
WorldSession* pop_sess = m_QueuedPlayer.front();
pop_sess->SetInQueue(false);
pop_sess->ResetTimeOutTime(false);
pop_sess->SendAuthWaitQueue(0);
pop_sess->SendAccountDataTimes(GLOBAL_CACHE_MASK);
FinalizePlayerWorldSession(pop_sess);
pop_sess->InitializeSession();
m_QueuedPlayer.pop_front();
// update iter to point first queued socket or end() if queue is empty now
@@ -3402,16 +3394,6 @@ uint32 World::GetNextWhoListUpdateDelaySecs()
return uint32(std::ceil(t / 1000.0f));
}
void World::FinalizePlayerWorldSession(WorldSession* session)
{
uint32 cacheVersion = sWorld->getIntConfig(CONFIG_CLIENTCACHE_VERSION);
sScriptMgr->OnBeforeFinalizePlayerWorldSession(cacheVersion);
session->SendAddonsInfo();
session->SendClientCacheVersion(cacheVersion);
session->SendTutorialsData();
}
CliCommandHolder::CliCommandHolder(void* callbackArg, char const* command, Print zprint, CommandFinished commandFinished)
: m_callbackArg(callbackArg), m_command(strdup(command)), m_print(zprint), m_commandFinished(commandFinished)
{