diff options
author | HeartWell <heartwell@list.ru> | 2016-11-05 17:28:49 +0300 |
---|---|---|
committer | Shin <borzifrancesco@gmail.com> | 2016-11-05 15:28:49 +0100 |
commit | 55873c18918bc7ce0f93815e6c62f760428ec194 (patch) | |
tree | 3669ca803db7fd8b27ef6844a4acbdb89fa36e92 /src/scripts/Commands/cs_lookup.cpp | |
parent | a52fbb398f7785a0982bab283168544cce8cb29c (diff) |
Core/Creature: Localization creatures. (#224)
Diffstat (limited to 'src/scripts/Commands/cs_lookup.cpp')
-rw-r--r-- | src/scripts/Commands/cs_lookup.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/scripts/Commands/cs_lookup.cpp b/src/scripts/Commands/cs_lookup.cpp index c8f72068d1..fda4b5e7c6 100644 --- a/src/scripts/Commands/cs_lookup.cpp +++ b/src/scripts/Commands/cs_lookup.cpp @@ -164,6 +164,33 @@ public: for (CreatureTemplateContainer::const_iterator itr = ctc->begin(); itr != ctc->end(); ++itr) { uint32 id = itr->second.Entry; + uint8 localeIndex = handler->GetSessionDbLocaleIndex(); + if (CreatureLocale const* creatureLocale = sObjectMgr->GetCreatureLocale(id)) + { + if (creatureLocale->Name.size() > localeIndex && !creatureLocale->Name[localeIndex].empty()) + { + std::string name = creatureLocale->Name[localeIndex]; + + if (Utf8FitTo(name, wNamePart)) + { + if (maxResults && count++ == maxResults) + { + handler->PSendSysMessage(LANG_COMMAND_LOOKUP_MAX_RESULTS, maxResults); + return true; + } + + if (handler->GetSession()) + handler->PSendSysMessage(LANG_CREATURE_ENTRY_LIST_CHAT, id, id, name.c_str()); + else + handler->PSendSysMessage(LANG_CREATURE_ENTRY_LIST_CONSOLE, id, name.c_str()); + + if (!found) + found = true; + + continue; + } + } + } std::string name = itr->second.Name; if (name.empty()) |