40#if TRINITY_COMPILER == TRINITY_COMPILER_GNU
41#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
53 static std::vector<ChatCommand> lookupPlayerCommandTable =
60 static std::vector<ChatCommand> lookupCommandTable =
72 {
"player", lookupPlayerCommandTable },
85 {
"lookup", lookupCommandTable },
95 std::string namePart = args;
96 std::wstring wNamePart;
115 std::string name = areaEntry->
AreaName[locale];
138 if (maxResults && count++ == maxResults)
145 std::ostringstream ss;
147 ss << areaEntry->
ID <<
" - |cffffffff|Harea:" << areaEntry->
ID <<
"|h[" << name <<
' ' <<
localeNames[locale]<<
"]|h|r";
149 ss << areaEntry->
ID <<
" - " << name <<
' ' <<
localeNames[locale];
170 std::string namePart = args;
171 std::wstring wNamePart;
184 for (
auto const& creatureTemplatePair : ctc)
186 uint32 id = creatureTemplatePair.first;
190 if (creatureLocale->Name.size() > localeIndex && !creatureLocale->Name[localeIndex].empty())
192 std::string
const& name = creatureLocale->Name[localeIndex];
196 if (maxResults && count++ == maxResults)
215 std::string
const& name = creatureTemplatePair.second.Name;
221 if (maxResults && count++ == maxResults)
248 std::string namePart = args;
249 std::wstring wNamePart;
264 for (
uint32 id = 0;
id < events.size(); ++id)
274 if (maxResults && count++ == maxResults)
306 std::string namePart = args;
307 std::wstring wNamePart;
327 std::string name = factionEntry->
Name[locale];
339 name = factionEntry->
Name[locale];
350 if (maxResults && count++ == maxResults)
358 std::ostringstream ss;
360 ss <<
id <<
" - |cffffffff|Hfaction:" <<
id <<
"|h[" << name <<
' ' <<
localeNames[locale] <<
"]|h|r";
362 ss <<
id <<
" - " << name <<
' ' <<
localeNames[locale];
404 std::string namePart = args;
405 std::wstring wNamePart;
419 for (
auto const& itemTemplatePair : its)
424 if (il->Name.size() > localeIndex && !il->Name[localeIndex].empty())
426 std::string
const& name = il->Name[localeIndex];
430 if (maxResults && count++ == maxResults)
449 std::string
const& name = itemTemplatePair.second.Name1;
455 if (maxResults && count++ == maxResults)
482 uint32 id = atoi((
char*)args);
486 std::string name = itemTemplate->Name1;
510 std::string namePart = args;
511 std::wstring wNamePart;
530 std::string name = set->
Name[locale];
542 name = set->
Name[locale];
553 if (maxResults && count++ == maxResults)
581 std::string namePart = args;
582 std::wstring wNamePart;
595 for (
auto const& gameObjectTemplatePair : gotc)
600 if (objectLocalte->Name.size() > localeIndex && !objectLocalte->Name[localeIndex].empty())
602 std::string
const& name = objectLocalte->Name[localeIndex];
605 if (maxResults && count++ == maxResults)
624 std::string
const& name = gameObjectTemplatePair.second.name;
630 if (maxResults && count++ == maxResults)
660 std::string namePart = args;
661 std::wstring wNamePart;
674 for (
auto const& questTemplatePair : questTemplates)
679 if (questLocale->Title.size() > localeIndex && !questLocale->Title[localeIndex].empty())
681 std::string
const& title = questLocale->Title[localeIndex];
685 if (maxResults && count++ == maxResults)
691 char const* statusStr =
"";
724 std::string
const& title = questTemplatePair.second->GetTitle();
730 if (maxResults && count++ == maxResults)
736 char const* statusStr =
"";
777 uint32 id = atoi((
char*)args);
784 std::string title = quest->GetTitle();
791 char const* statusStr =
"";
830 std::string namePart = args;
831 std::wstring wNamePart;
873 if (maxResults && count++ == maxResults)
879 char valStr[50] =
"";
880 char const* knownStr =
"";
890 snprintf(valStr, 50, valFormat, curValue, maxValue, permValue, tempValue);
918 std::string namePart = args;
919 std::wstring wNamePart;
938 std::string name = spellInfo->
SpellName[locale];
961 if (maxResults && count++ == maxResults)
967 bool known = target && target->
HasSpell(
id);
976 bool talent = (talentCost > 0);
978 bool active = target && target->
HasAura(
id);
982 uint32 rank = talentCost ? talentCost : learn && learnSpellInfo ? learnSpellInfo->
GetRank() : spellInfo->
GetRank();
985 std::ostringstream ss;
987 ss <<
id <<
" - |cffffffff|Hspell:" <<
id <<
"|h[" << name;
989 ss <<
id <<
" - " << name;
1032 uint32 id = atoi((
char*)args);
1037 std::string name = spellInfo->SpellName[locale];
1044 bool known = target && target->
HasSpell(
id);
1053 bool talent = (talentCost > 0);
1054 bool passive = spellInfo->IsPassive();
1055 bool active = target && target->
HasAura(
id);
1059 uint32 rank = talentCost ? talentCost : learn && learnSpellInfo ? learnSpellInfo->
GetRank() : spellInfo->GetRank();
1062 std::ostringstream ss;
1064 ss <<
id <<
" - |cffffffff|Hspell:" <<
id <<
"|h[" << name;
1066 ss <<
id <<
" - " << name;
1101 std::string namePart = args;
1102 std::wstring wNamePart;
1121 std::string name = nodeEntry->
Name[locale];
1133 name = nodeEntry->
Name[locale];
1144 if (maxResults && count++ == maxResults)
1179 char const* str = strtok((
char*)args,
" ");
1183 std::string namePart = str;
1184 std::wstring wNamePart;
1192 std::ostringstream reply;
1195 bool limitReached =
false;
1198 for (GameTeleContainer::const_iterator itr = teleMap.begin(); itr != teleMap.end(); ++itr)
1200 GameTele const* tele = &itr->second;
1202 if (tele->
wnameLow.find(wNamePart) == std::wstring::npos)
1205 if (maxResults && count++ == maxResults)
1207 limitReached =
true;
1212 reply <<
" |cffffffff|Htele:" << itr->first <<
"|h[" << tele->
name <<
"]|h|r\n";
1214 reply <<
" " << itr->first <<
' ' << tele->
name <<
"\n";
1217 if (reply.str().empty())
1237 char const* targetName = target ? target->
GetName().c_str() :
"NAME";
1239 std::string namePart = args;
1240 std::wstring wNamePart;
1259 std::string_view name = titleInfo->
Name[locale];
1271 name = titleInfo->
Name[locale];
1282 if (maxResults && counter == maxResults)
1317 std::string namePart = args;
1318 std::wstring wNamePart;
1334 std::string name = mapInfo->MapName[locale];
1340 if (maxResults && counter == maxResults)
1346 std::ostringstream ss;
1347 ss <<
id <<
" - [" << name <<
']';
1349 if (mapInfo->IsContinent())
1352 switch (mapInfo->InstanceType)
1386 uint32 id = atoi((
char*)args);
1391 std::string name = mapInfo->MapName[locale];
1398 std::ostringstream ss;
1399 ss <<
id <<
" - [" << name <<
']';
1401 if (mapInfo->IsContinent())
1404 switch (mapInfo->InstanceType)
1446 ip = strtok((
char*)args,
" ");
1447 limitStr = strtok(
nullptr,
" ");
1448 limit = limitStr ? atoi(limitStr) : -1;
1463 std::string account = strtok((
char*)args,
" ");
1464 char* limitStr = strtok(
nullptr,
" ");
1465 int32 limit = limitStr ? atoi(limitStr) : -1;
1483 std::string email = strtok((
char*)args,
" ");
1484 char* limitStr = strtok(
nullptr,
" ");
1485 int32 limit = limitStr ? atoi(limitStr) : -1;
1509 if (maxResults && count++ == maxResults)
1515 Field* fields = result->Fetch();
1517 std::string accountName = fields[1].
GetString();
1529 Field* characterFields = result2->Fetch();
1531 std::string name = characterFields[1].
GetString();
1537 while (result2->NextRow() && (limit == -1 || counter < limit));
1540 while (result->NextRow());
@ CHAR_SEL_CHAR_GUID_NAME_BY_ACC
char const * localeNames[TOTAL_LOCALES]
DBCStorage< CharTitlesEntry > sCharTitlesStore(CharTitlesEntryfmt)
DBCStorage< FactionEntry > sFactionStore(FactionEntryfmt)
DBCStorage< ItemSetEntry > sItemSetStore(ItemSetEntryfmt)
uint32 GetTalentSpellCost(uint32 spellId)
DBCStorage< SkillLineEntry > sSkillLineStore(SkillLinefmt)
DBCStorage< TaxiNodesEntry > sTaxiNodesStore(TaxiNodesEntryfmt)
DBCStorage< MapEntry > sMapStore(MapEntryfmt)
DBCStorage< AreaTableEntry > sAreaTableStore(AreaTableEntryfmt)
std::shared_ptr< PreparedResultSet > PreparedQueryResult
DatabaseWorkerPool< LoginDatabaseConnection > LoginDatabase
Accessor to the realm/login database.
DatabaseWorkerPool< CharacterDatabaseConnection > CharacterDatabase
Accessor to the character database.
@ LANG_FACTION_PEACE_FORCED
@ LANG_COMMAND_TELE_PARAMETER
@ LANG_COMMAND_NOAREAFOUND
@ LANG_COMMAND_TELE_LOCATION
@ LANG_COMMAND_QUEST_REWARDED
@ LANG_EVENT_ENTRY_LIST_CONSOLE
@ LANG_COMMAND_NOTAXINODEFOUND
@ LANG_GO_ENTRY_LIST_CONSOLE
@ LANG_COMMAND_TELE_NOLOCATION
@ LANG_EVENT_ENTRY_LIST_CHAT
@ LANG_COMMAND_NOCREATUREFOUND
@ LANG_CREATURE_ENTRY_LIST_CONSOLE
@ LANG_FACTION_NOREPUTATION
@ LANG_SKILL_LIST_CONSOLE
@ LANG_FACTION_INVISIBLE_FORCED
@ LANG_COMMAND_NOITEMFOUND
@ LANG_QUEST_LIST_CONSOLE
@ LANG_COMMAND_QUEST_ACTIVE
@ LANG_LOOKUP_PLAYER_CHARACTER
@ LANG_GO_ENTRY_LIST_CHAT
@ LANG_COMMAND_NOMAPFOUND
@ LANG_COMMAND_NOSKILLFOUND
@ LANG_COMMAND_NOTITLEFOUND
@ LANG_COMMAND_NOITEMSETFOUND
@ LANG_TAXINODE_ENTRY_LIST_CHAT
@ LANG_COMMAND_NOSPELLFOUND
@ LANG_COMMAND_LOOKUP_MAX_RESULTS
@ LANG_COMMAND_NOQUESTFOUND
@ LANG_COMMAND_FACTION_NOTFOUND
@ LANG_COMMAND_NOGAMEOBJECTFOUND
@ LANG_TAXINODE_ENTRY_LIST_CONSOLE
@ LANG_COMMAND_QUEST_COMPLETE
@ LANG_TITLE_LIST_CONSOLE
@ LANG_ITEMSET_LIST_CONSOLE
@ LANG_LOOKUP_PLAYER_ACCOUNT
@ LANG_CREATURE_ENTRY_LIST_CHAT
@ LOGIN_SEL_ACCOUNT_LIST_BY_EMAIL
@ LOGIN_SEL_ACCOUNT_BY_IP
@ LOGIN_SEL_ACCOUNT_LIST_BY_NAME
std::unordered_map< uint32, ItemTemplate > ItemTemplateContainer
std::unordered_map< uint32, GameObjectTemplate > GameObjectTemplateContainer
std::unordered_map< uint32, GameTele > GameTeleContainer
std::unordered_map< uint32, CreatureTemplate > CreatureTemplateContainer
@ QUEST_STATUS_INCOMPLETE
@ SPELL_EFFECT_LEARN_SPELL
bool Utf8ToUpperOnlyLatin(std::string &utf8String)
void wstrToLower(std::wstring &str)
bool Utf8FitTo(std::string_view str, std::wstring_view search)
bool Utf8toWStr(char const *utf8str, size_t csize, wchar_t *wstr, size_t &wsize)
Player * getSelectedPlayerOrSelf()
static std::string PGetParseString(std::string_view fmt, Args &&... args)
Player * getSelectedPlayer()
WorldSession * GetSession()
virtual LocaleConstant GetSessionDbcLocale() const
virtual int GetSessionDbLocaleIndex() const
void SetSentErrorMessage(bool val)
void PSendSysMessage(char const *fmt, Args &&... args)
virtual void SendSysMessage(std::string_view str, bool escapeCharacters=false)
virtual char const * GetTrinityString(uint32 entry) const
constexpr bool HasFlag(T flag) const
Class used to access individual fields of database query result.
std::string GetString() const
std::vector< GameEventData > GameEventDataMap
std::set< uint16 > ActiveEvents
std::unordered_map< uint32, Trinity::unique_trackable_ptr< Quest > > QuestContainer
uint32 GetUInt32Value(uint16 index) const
bool HasTitle(uint32 bitIndex) const
uint16 GetPureSkillValue(uint32 skill) const
int16 GetSkillTempBonusValue(uint32 skill) const
int16 GetSkillPermBonusValue(uint32 skill) const
WorldSession * GetSession() const
bool HasSkill(uint32 skill) const
uint16 GetPureMaxSkillValue(uint32 skill) const
QuestStatus GetQuestStatus(uint32 quest_id) const
bool HasSpell(uint32 spell) const override
ReputationMgr & GetReputationMgr()
void setUInt32(uint8 index, uint32 value)
void setString(uint8 index, std::string const &value)
std::string GetReputationRankName(FactionEntry const *factionEntry) const
int32 GetReputation(uint32 faction_id) const
FactionState const * GetState(FactionEntry const *factionEntry) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
std::array< char const *, 16 > SpellName
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
std::string const & GetName() const
LocaleConstant GetSessionDbcLocale() const
Player * GetPlayer() const
std::string const & GetRemoteAddress() const
std::vector< ChatCommand > GetCommands() const override
static bool HandleLookupItemIdCommand(ChatHandler *handler, char const *args)
static bool HandleLookupPlayerAccountCommand(ChatHandler *handler, char const *args)
static bool HandleLookupSkillCommand(ChatHandler *handler, char const *args)
static bool HandleLookupItemCommand(ChatHandler *handler, char const *args)
static bool HandleLookupSpellIdCommand(ChatHandler *handler, char const *args)
static bool HandleLookupPlayerEmailCommand(ChatHandler *handler, char const *args)
static bool HandleLookupFactionCommand(ChatHandler *handler, char const *args)
static bool HandleLookupPlayerIpCommand(ChatHandler *handler, char const *args)
static bool HandleLookupMapCommand(ChatHandler *handler, char const *args)
static bool HandleLookupAreaCommand(ChatHandler *handler, char const *args)
static bool HandleLookupTaxiNodeCommand(ChatHandler *handler, const char *args)
static bool LookupPlayerSearchCommand(PreparedQueryResult result, int32 limit, ChatHandler *handler)
static bool HandleLookupItemSetCommand(ChatHandler *handler, char const *args)
static bool HandleLookupQuestIdCommand(ChatHandler *handler, char const *args)
static bool HandleLookupObjectCommand(ChatHandler *handler, char const *args)
static bool HandleLookupCreatureCommand(ChatHandler *handler, char const *args)
static bool HandleLookupSpellCommand(ChatHandler *handler, char const *args)
static bool HandleLookupQuestCommand(ChatHandler *handler, char const *args)
static bool HandleLookupTitleCommand(ChatHandler *handler, char const *args)
static bool HandleLookupMapIdCommand(ChatHandler *handler, char const *args)
static bool HandleLookupEventCommand(ChatHandler *handler, char const *args)
static bool HandleLookupTeleCommand(ChatHandler *handler, char const *args)
void AddSC_lookup_commandscript()
@ CONFIG_MAX_RESULTS_LOOKUP_COMMANDS
std::vector< ChatCommandBuilder > ChatCommandTable
@ RBAC_PERM_COMMAND_LOOKUP_QUEST
@ RBAC_PERM_COMMAND_LOOKUP_EVENT
@ RBAC_PERM_COMMAND_LOOKUP_SPELL
@ RBAC_PERM_COMMAND_LOOKUP_PLAYER_EMAIL
@ RBAC_PERM_COMMAND_LOOKUP_OBJECT
@ RBAC_PERM_COMMAND_LOOKUP_AREA
@ RBAC_PERM_COMMAND_LOOKUP_ITEMSET
@ RBAC_PERM_COMMAND_LOOKUP_FACTION
@ RBAC_PERM_COMMAND_LOOKUP_TELE
@ RBAC_PERM_COMMAND_LOOKUP_PLAYER_IP
@ RBAC_PERM_COMMAND_LOOKUP_QUEST_ID
@ RBAC_PERM_COMMAND_LOOKUP_ITEM_ID
@ RBAC_PERM_COMMAND_LOOKUP_SPELL_ID
@ RBAC_PERM_COMMAND_LOOKUP_SKILL
@ RBAC_PERM_COMMAND_LOOKUP_CREATURE
@ RBAC_PERM_COMMAND_LOOKUP_TITLE
@ RBAC_PERM_COMMAND_LOOKUP_MAP_ID
@ RBAC_PERM_COMMAND_LOOKUP_PLAYER_ACCOUNT
@ RBAC_PERM_COMMAND_LOOKUP_ITEM
@ RBAC_PERM_COMMAND_LOOKUP_MAP
@ RBAC_PERM_COMMAND_LOOKUP_TAXINODE
char const * AreaName[16]
EnumFlag< ReputationFlags > Flags
char const * DisplayName[16]