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)
427 if (maxResults && count++ == maxResults)
454 uint32 id = atoi((
char*)args);
482 std::string namePart = args;
483 std::wstring wNamePart;
502 std::string name = set->
Name[locale];
514 name = set->
Name[locale];
525 if (maxResults && count++ == maxResults)
553 std::string namePart = args;
554 std::wstring wNamePart;
567 for (
auto const& gameObjectTemplatePair : gotc)
572 if (objectLocalte->Name.size() > localeIndex && !objectLocalte->Name[localeIndex].empty())
574 std::string
const& name = objectLocalte->Name[localeIndex];
577 if (maxResults && count++ == maxResults)
596 std::string
const& name = gameObjectTemplatePair.second.name;
602 if (maxResults && count++ == maxResults)
632 std::string namePart = args;
633 std::wstring wNamePart;
646 for (
auto const& questTemplatePair : questTemplates)
651 if (questLocale->LogTitle.size() > localeIndex && !questLocale->LogTitle[localeIndex].empty())
653 std::string
const& title = questLocale->LogTitle[localeIndex];
657 if (maxResults && count++ == maxResults)
663 char const* statusStr =
"";
696 std::string
const& title = questTemplatePair.second->GetLogTitle();
702 if (maxResults && count++ == maxResults)
708 char const* statusStr =
"";
749 uint32 id = atoi((
char*)args);
756 std::string title = quest->GetLogTitle();
763 char const* statusStr =
"";
802 std::string namePart = args;
803 std::wstring wNamePart;
845 if (maxResults && count++ == maxResults)
851 char valStr[50] =
"";
852 char const* knownStr =
"";
862 snprintf(valStr, 50, valFormat, curValue, maxValue, permValue, tempValue);
890 std::string namePart = args;
891 std::wstring wNamePart;
910 std::string name = spellInfo->
SpellName[locale];
933 if (maxResults && count++ == maxResults)
939 bool known = target && target->
HasSpell(
id);
950 bool active = target && target->
HasAura(
id);
954 uint32 rank = talentCost ? talentCost : learn && learnSpellInfo ? learnSpellInfo->
GetRank() : spellInfo->
GetRank();
957 std::ostringstream ss;
959 ss <<
id <<
" - |cffffffff|Hspell:" <<
id <<
"|h[" << name;
961 ss <<
id <<
" - " << name;
1004 uint32 id = atoi((
char*)args);
1009 std::string name = spellInfo->SpellName[locale];
1016 bool known = target && target->
HasSpell(
id);
1026 bool passive = spellInfo->IsPassive();
1027 bool active = target && target->
HasAura(
id);
1031 uint32 rank = talentCost ? talentCost : learn && learnSpellInfo ? learnSpellInfo->
GetRank() : spellInfo->GetRank();
1034 std::ostringstream ss;
1036 ss <<
id <<
" - |cffffffff|Hspell:" <<
id <<
"|h[" << name;
1038 ss <<
id <<
" - " << name;
1073 std::string namePart = args;
1074 std::wstring wNamePart;
1093 std::string name = nodeEntry->
Name[locale];
1105 name = nodeEntry->
Name[locale];
1116 if (maxResults && count++ == maxResults)
1151 char const* str = strtok((
char*)args,
" ");
1155 std::string namePart = str;
1156 std::wstring wNamePart;
1164 std::ostringstream reply;
1167 bool limitReached =
false;
1170 for (GameTeleContainer::const_iterator itr = teleMap.begin(); itr != teleMap.end(); ++itr)
1172 GameTele const* tele = &itr->second;
1174 if (tele->
wnameLow.find(wNamePart) == std::wstring::npos)
1177 if (maxResults && count++ == maxResults)
1179 limitReached =
true;
1184 reply <<
" |cffffffff|Htele:" << itr->first <<
"|h[" << tele->
name <<
"]|h|r\n";
1186 reply <<
" " << itr->first <<
' ' << tele->
name <<
"\n";
1189 if (reply.str().empty())
1209 char const* targetName = target ? target->
GetName().c_str() :
"NAME";
1211 std::string namePart = args;
1212 std::wstring wNamePart;
1230 if (target && target->
GetGender() != gender)
1234 std::string_view name = (gender ==
GENDER_MALE ? titleInfo->Name : titleInfo->Name1)[locale];
1247 name = (gender ==
GENDER_MALE ? titleInfo->Name : titleInfo->Name1)[locale];
1258 if (maxResults && counter == maxResults)
1294 std::string namePart = args;
1295 std::wstring wNamePart;
1311 std::string name = mapInfo->MapName[locale];
1317 if (maxResults && counter == maxResults)
1323 std::ostringstream ss;
1324 ss <<
id <<
" - [" << name <<
']';
1326 if (mapInfo->IsContinent())
1329 switch (mapInfo->InstanceType)
1363 uint32 id = atoi((
char*)args);
1368 std::string name = mapInfo->MapName[locale];
1375 std::ostringstream ss;
1376 ss <<
id <<
" - [" << name <<
']';
1378 if (mapInfo->IsContinent())
1381 switch (mapInfo->InstanceType)
1423 ip = strtok((
char*)args,
" ");
1424 limitStr = strtok(
nullptr,
" ");
1425 limit = limitStr ? atoi(limitStr) : -1;
1440 std::string account = strtok((
char*)args,
" ");
1441 char* limitStr = strtok(
nullptr,
" ");
1442 int32 limit = limitStr ? atoi(limitStr) : -1;
1460 std::string email = strtok((
char*)args,
" ");
1461 char* limitStr = strtok(
nullptr,
" ");
1462 int32 limit = limitStr ? atoi(limitStr) : -1;
1486 if (maxResults && count++ == maxResults)
1492 Field* fields = result->Fetch();
1494 std::string accountName = fields[1].
GetString();
1506 Field* characterFields = result2->Fetch();
1508 std::string name = characterFields[1].
GetString();
1514 while (result2->NextRow() && (limit == -1 || counter < limit));
1517 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
@ SPELL_ATTR0_CU_IS_TALENT
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)
virtual LocaleConstant GetSessionDbLocaleIndex() const
Player * getSelectedPlayer()
WorldSession * GetSession()
virtual LocaleConstant GetSessionDbcLocale() 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
bool HasAttribute(SpellAttr0 attribute) 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]