aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/CharacterHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-10-03 12:22:22 +0200
committerOvahlord <dreadkiller@gmx.de>2024-10-03 15:06:58 +0200
commit01e3220f8969818b5b0ee38bf27316cb8a5bfb5f (patch)
tree71e84ab9e3379d74860bc7079c6cf4c4c8576a59 /src/server/game/Handlers/CharacterHandler.cpp
parent77124dc57e6b01632340013fdc3c1fb8ce92165e (diff)
Core/Players: Prevent creation of characters with duplicate names
Closes #30299 (cherry picked from commit 49ab2bbe3883749594fe92a752e1d618c625d1b6)
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index eb4ec495c32..0fc73303944 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -829,12 +829,12 @@ void WorldSession::HandleCharCreateOpcode(WorldPackets::Character::CreateCharact
stmt->setUInt32(2, sRealmList->GetCurrentRealmId().Realm);
trans->Append(stmt);
- LoginDatabase.CommitTransaction(trans);
-
- AddTransactionCallback(CharacterDatabase.AsyncCommitTransaction(characterTransaction)).AfterComplete([this, newChar = std::move(newChar)](bool success)
+ AddTransactionCallback(CharacterDatabase.AsyncCommitTransaction(characterTransaction)).AfterComplete([this, newChar = std::move(newChar), trans](bool success)
{
if (success)
{
+ LoginDatabase.CommitTransaction(trans);
+
TC_LOG_INFO("entities.player.character", "Account: {} (IP: {}) Create Character: {} {}", GetAccountId(), GetRemoteAddress(), newChar->GetName(), newChar->GetGUID().ToString());
sScriptMgr->OnPlayerCreate(newChar.get());
sCharacterCache->AddCharacterCacheEntry(newChar->GetGUID(), GetAccountId(), newChar->GetName(), newChar->GetNativeGender(), newChar->GetRace(), newChar->GetClass(), newChar->GetLevel(), false);