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.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index afbc283676d..d868cd1bd13 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -356,17 +356,19 @@ void WorldSession::HandleCharCreateOpcode(WorldPackets::Character::CharacterCrea
}
// prevent character creating Expansion race without Expansion account
- if (raceEntry->expansion > Expansion())
+ uint8 raceExpansionRequirement = sObjectMgr->GetRaceExpansionRequirement(charCreate.CreateInfo->Race);
+ if (raceExpansionRequirement > Expansion())
{
- TC_LOG_ERROR("network", "Expansion %u account:[%d] tried to Create character with expansion %u race (%u)", Expansion(), GetAccountId(), raceEntry->expansion, charCreate.CreateInfo->Race);
+ TC_LOG_ERROR("network", "Expansion %u account:[%d] tried to Create character with expansion %u race (%u)", Expansion(), GetAccountId(), raceExpansionRequirement, charCreate.CreateInfo->Race);
SendCharCreate(CHAR_CREATE_EXPANSION);
return;
}
// prevent character creating Expansion class without Expansion account
- if (classEntry->expansion > Expansion())
+ uint8 classExpansionRequirement = sObjectMgr->GetClassExpansionRequirement(charCreate.CreateInfo->Class);
+ if (classExpansionRequirement > Expansion())
{
- TC_LOG_ERROR("network", "Expansion %u account:[%d] tried to Create character with expansion %u class (%u)", Expansion(), GetAccountId(), classEntry->expansion, charCreate.CreateInfo->Class);
+ TC_LOG_ERROR("network", "Expansion %u account:[%d] tried to Create character with expansion %u class (%u)", Expansion(), GetAccountId(), classExpansionRequirement, charCreate.CreateInfo->Class);
SendCharCreate(CHAR_CREATE_EXPANSION_CLASS);
return;
}
@@ -940,10 +942,10 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder)
if (ChrClassesEntry const* cEntry = sChrClassesStore.LookupEntry(pCurrChar->getClass()))
{
- if (cEntry->CinematicSequence)
- pCurrChar->SendCinematicStart(cEntry->CinematicSequence);
+ if (cEntry->CinematicSequenceID)
+ pCurrChar->SendCinematicStart(cEntry->CinematicSequenceID);
else if (ChrRacesEntry const* rEntry = sChrRacesStore.LookupEntry(pCurrChar->getRace()))
- pCurrChar->SendCinematicStart(rEntry->CinematicSequence);
+ pCurrChar->SendCinematicStart(rEntry->CinematicSequenceID);
// send new char string if not empty
if (!sWorld->GetNewCharString().empty())
@@ -2241,10 +2243,10 @@ void WorldSession::HandleOpeningCinematic(WorldPacket& /*recvData*/)
if (ChrClassesEntry const* classEntry = sChrClassesStore.LookupEntry(_player->getClass()))
{
- if (classEntry->CinematicSequence)
- _player->SendCinematicStart(classEntry->CinematicSequence);
+ if (classEntry->CinematicSequenceID)
+ _player->SendCinematicStart(classEntry->CinematicSequenceID);
else if (ChrRacesEntry const* raceEntry = sChrRacesStore.LookupEntry(_player->getRace()))
- _player->SendCinematicStart(raceEntry->CinematicSequence);
+ _player->SendCinematicStart(raceEntry->CinematicSequenceID);
}
}