aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Server/Protocol/Handlers/CharacterHandler.cpp27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp
index af598409f91..a9cfef36135 100755
--- a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp
@@ -494,21 +494,7 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
bool allowTwoSideAccounts = !sWorld->IsPvPRealm() || sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_ACCOUNTS) || GetSecurity() > SEC_PLAYER;
uint32 skipCinematics = sWorld->getIntConfig(CONFIG_SKIP_CINEMATICS);
- uint32 heroicReqLevel = sWorld->getIntConfig(CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_HEROIC_CHARACTER);
-
- // if 0 then allowed creating without any characters
- bool hasHeroicReqLevel = (heroicReqLevel == 0);
- if (GetSecurity() == SEC_PLAYER && createInfo->Class == CLASS_DEATH_KNIGHT && !hasHeroicReqLevel)
- {
- WorldPacket data(SMSG_CHAR_CREATE, 1);
- data << uint8(CHAR_CREATE_LEVEL_REQUIREMENT);
- SendPacket(&data);
- delete createInfo;
- _charCreateCallback.SetParam(NULL);
- _charCreateCallback.FreeResult();
- return;
- }
-
+
_charCreateCallback.FreeResult();
if (!allowTwoSideAccounts || skipCinematics == 1 || createInfo->Class == CLASS_DEATH_KNIGHT)
@@ -632,6 +618,17 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
}
}
+ if (GetSecurity() == SEC_PLAYER && createInfo->Class == CLASS_DEATH_KNIGHT && !hasHeroicReqLevel)
+ {
+ WorldPacket data(SMSG_CHAR_CREATE, 1);
+ data << uint8(CHAR_CREATE_LEVEL_REQUIREMENT);
+ SendPacket(&data);
+ delete createInfo;
+ _charCreateCallback.SetParam(NULL);
+ _charCreateCallback.FreeResult();
+ return;
+ }
+
if (createInfo->Data.rpos() < createInfo->Data.wpos())
{
uint8 unk;