aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/CharacterHandler.cpp
diff options
context:
space:
mode:
authorTruthlight <plainflower@yahoo.com>2018-08-03 11:01:55 +0300
committerShauren <shauren.trinity@gmail.com>2018-08-03 10:01:55 +0200
commitd520854912af4e40aca67c30a37a6847c13256af (patch)
tree744263aad55d728bd753c3ea00b0ec2e19880257 /src/server/game/Handlers/CharacterHandler.cpp
parent172ccdb49929f40d0c5c27e3fd500514088d5112 (diff)
Core/Player: Fixed crash when race or faction changing to an allied race. (#22221)
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 3ba93420747..210b2f0c915 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -1973,6 +1973,7 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa
stmt->setUInt16(1, 111);
break;
case RACE_DRAENEI:
+ case RACE_LIGHTFORGED_DRAENEI:
stmt->setUInt16(1, 759);
break;
case RACE_GNOME:
@@ -1988,17 +1989,26 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa
stmt->setUInt16(1, 673);
break;
case RACE_TAUREN:
+ case RACE_HIGHMOUNTAIN_TAUREN:
stmt->setUInt16(1, 115);
break;
case RACE_TROLL:
stmt->setUInt16(1, 315);
break;
case RACE_BLOODELF:
+ case RACE_VOID_ELF:
stmt->setUInt16(1, 137);
break;
case RACE_GOBLIN:
stmt->setUInt16(1, 792);
break;
+ case RACE_NIGHTBORNE:
+ stmt->setUInt16(1, 2464);
+ break;
+ default:
+ TC_LOG_ERROR("entities.player", "Could not find language data for race (%u).", factionChangeInfo->RaceID);
+ SendCharFactionChange(CHAR_CREATE_ERROR, factionChangeInfo.get());
+ return;
}
trans->Append(stmt);