Core/Player: Wait for correct transaction on character creation

This commit is contained in:
Shauren authored and Ovahlord committed 2020-04-15 21:58:02 +02:00
1 parent df44e90fe6
commit ec6d64b9c6
3 files changed
+14 -6

No files matched your search

@@ -618,8 +618,9 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
newChar->SetAtLoginFlag(AT_LOGIN_FIRST); // First login
// Player created, save it now
newChar->SaveToDB(true);
CharacterDatabaseTransaction characterTransaction = CharacterDatabase.BeginTransaction();
// Player created, save it now
newChar->SaveToDB(characterTransaction, true);
createInfo->CharCount += 1;
LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction();
@@ -637,7 +638,7 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
LoginDatabase.CommitTransaction(trans);
AddTransactionCallback(LoginDatabase.AsyncCommitTransaction(trans)).AfterComplete([this, newChar = std::move(newChar)](bool success)
AddTransactionCallback(CharacterDatabase.AsyncCommitTransaction(characterTransaction)).AfterComplete([this, newChar = std::move(newChar)](bool success)
{
if (success)
{