diff options
author | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-08-01 11:58:14 +0200 |
---|---|---|
committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-08-01 11:58:14 +0200 |
commit | 8aa55a0b570cfee0445cd841f86baa5ca433a803 (patch) | |
tree | 9abf7cf8d591b7f51ba2a0d59a3df63004fba6ca /src/server/game/Handlers/QueryHandler.cpp | |
parent | 75bc726c9bedf7cb736ff8ef96d30084bac226be (diff) |
Core/Misc: Update game creature template locale in simple system
Diffstat (limited to 'src/server/game/Handlers/QueryHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/QueryHandler.cpp | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp index c1818638a56..a9ab4ca841d 100644 --- a/src/server/game/Handlers/QueryHandler.cpp +++ b/src/server/game/Handlers/QueryHandler.cpp @@ -77,35 +77,50 @@ void WorldSession::HandleCreatureQuery(WorldPackets::Query::QueryCreature& packe WorldPackets::Query::CreatureStats& stats = response.Stats; - stats.Title = creatureInfo->SubName; - stats.CursorName = creatureInfo->IconName; - stats.CreatureType = creatureInfo->type; - stats.CreatureFamily = creatureInfo->family; - stats.Classification = creatureInfo->rank; - stats.HpMulti = creatureInfo->ModHealth; - stats.EnergyMulti = creatureInfo->ModMana; stats.Leader = creatureInfo->RacialLeader; - CreatureQuestItemList const* items = sObjectMgr->GetCreatureQuestItemList(packet.CreatureID); - if (items) - for (uint32 item : *items) - stats.QuestItems.push_back(item); + stats.Name[0] = creatureInfo->Name; + stats.NameAlt[0] = creatureInfo->FemaleName; - stats.CreatureMovementInfoID = creatureInfo->movementId; - stats.RequiredExpansion = creatureInfo->expansionUnknown; stats.Flags[0] = creatureInfo->type_flags; stats.Flags[1] = creatureInfo->type_flags2; + + stats.CreatureType = creatureInfo->type; + stats.CreatureFamily = creatureInfo->family; + stats.Classification = creatureInfo->rank; + for (uint32 i = 0; i < MAX_KILL_CREDIT; ++i) stats.ProxyCreatureID[i] = creatureInfo->KillCredit[i]; + stats.CreatureDisplayID[0] = creatureInfo->Modelid1; stats.CreatureDisplayID[1] = creatureInfo->Modelid2; stats.CreatureDisplayID[2] = creatureInfo->Modelid3; stats.CreatureDisplayID[3] = creatureInfo->Modelid4; - stats.Name[0] = creatureInfo->Name; - stats.NameAlt[0] = creatureInfo->FemaleName; + + stats.HpMulti = creatureInfo->ModHealth; + stats.EnergyMulti = creatureInfo->ModMana; + + stats.CreatureMovementInfoID = creatureInfo->movementId; + stats.RequiredExpansion = creatureInfo->expansionUnknown; + + stats.Title = creatureInfo->SubName; + //stats.TitleAlt = ; + stats.CursorName = creatureInfo->IconName; + + if (CreatureQuestItemList const* items = sObjectMgr->GetCreatureQuestItemList(packet.CreatureID)) + for (uint32 item : *items) + stats.QuestItems.push_back(item); + + LocaleConstant localeConstant = GetSessionDbLocaleIndex(); + if (localeConstant >= LOCALE_enUS) + if (CreatureLocale const* creatureLocale = sObjectMgr->GetCreatureLocale(packet.CreatureID)) + { + ObjectMgr::GetLocaleString(creatureLocale->Name, localeConstant, stats.Name[0]); + ObjectMgr::GetLocaleString(creatureLocale->NameAlt, localeConstant, stats.NameAlt[0]); + ObjectMgr::GetLocaleString(creatureLocale->Title, localeConstant, stats.Title); + ObjectMgr::GetLocaleString(creatureLocale->TitleAlt, localeConstant, stats.TitleAlt); + } } - else - response.Allow = false; SendPacket(response.Write()); } |