aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QueryHandler.cpp
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2015-08-01 11:58:14 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2015-08-01 11:58:14 +0200
commit8aa55a0b570cfee0445cd841f86baa5ca433a803 (patch)
tree9abf7cf8d591b7f51ba2a0d59a3df63004fba6ca /src/server/game/Handlers/QueryHandler.cpp
parent75bc726c9bedf7cb736ff8ef96d30084bac226be (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.cpp49
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());
}