mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Players: Support race and faction changes for new races (#29755)
This commit is contained in:
@@ -2274,7 +2274,8 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa
|
||||
trans->Append(stmt);
|
||||
|
||||
// Race specific languages
|
||||
if (factionChangeInfo->RaceID != RACE_ORC && factionChangeInfo->RaceID != RACE_HUMAN && factionChangeInfo->RaceID != RACE_MAGHAR_ORC)
|
||||
std::array<uint8, 4> const racesWithoutSpecificLanguages = { RACE_ORC, RACE_HUMAN, RACE_MAGHAR_ORC, RACE_KUL_TIRAN };
|
||||
if (std::find(racesWithoutSpecificLanguages.begin(), racesWithoutSpecificLanguages.end(), factionChangeInfo->RaceID) == racesWithoutSpecificLanguages.end())
|
||||
{
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_SKILL_LANGUAGE);
|
||||
stmt->setUInt64(0, lowGuid);
|
||||
@@ -2290,6 +2291,7 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa
|
||||
stmt->setUInt16(1, 759);
|
||||
break;
|
||||
case RACE_GNOME:
|
||||
case RACE_MECHAGNOME:
|
||||
stmt->setUInt16(1, 313);
|
||||
break;
|
||||
case RACE_NIGHTELF:
|
||||
@@ -2306,6 +2308,7 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa
|
||||
stmt->setUInt16(1, 115);
|
||||
break;
|
||||
case RACE_TROLL:
|
||||
case RACE_ZANDALARI_TROLL:
|
||||
stmt->setUInt16(1, 315);
|
||||
break;
|
||||
case RACE_BLOODELF:
|
||||
@@ -2318,6 +2321,17 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa
|
||||
case RACE_NIGHTBORNE:
|
||||
stmt->setUInt16(1, 2464);
|
||||
break;
|
||||
case RACE_VULPERA:
|
||||
stmt->setUInt16(1, 2776);
|
||||
break;
|
||||
case LANG_PANDAREN_ALLIANCE:
|
||||
case LANG_PANDAREN_HORDE:
|
||||
stmt->setUInt16(1, 905);
|
||||
break;
|
||||
case RACE_DRACTHYR_ALLIANCE:
|
||||
case RACE_DRACTHYR_HORDE:
|
||||
stmt->setUInt16(1, 138);
|
||||
break;
|
||||
default:
|
||||
TC_LOG_ERROR("entities.player", "Could not find language data for race ({}).", factionChangeInfo->RaceID);
|
||||
SendCharFactionChange(CHAR_CREATE_ERROR, factionChangeInfo.get());
|
||||
|
||||
Reference in New Issue
Block a user