mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-22 05:06:24 +00:00
feat(Script/Command): Add AccountFlag pinfo output (#22548)
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
--
|
||||||
|
DELETE FROM `acore_string` WHERE `entry` = 179;
|
||||||
|
INSERT INTO `acore_string` (`entry`, `content_default`) VALUES
|
||||||
|
(179, '| AccountFlags:');
|
||||||
@@ -61,6 +61,7 @@ enum AccountTypes
|
|||||||
SEC_CONSOLE = 4 // must be always last in list, accounts must have less security level always also
|
SEC_CONSOLE = 4 // must be always last in list, accounts must have less security level always also
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define MAX_ACCOUNT_FLAG 32
|
||||||
enum AccountFlag
|
enum AccountFlag
|
||||||
{
|
{
|
||||||
ACCOUNT_FLAG_GM = 0x1, // Account is GM
|
ACCOUNT_FLAG_GM = 0x1, // Account is GM
|
||||||
@@ -96,7 +97,7 @@ enum AccountFlag
|
|||||||
// Below might be StarCraft II related
|
// Below might be StarCraft II related
|
||||||
ACCOUNT_FLAG_S2_REQUIRE_IGR = 0x40000000, // NYI UNK
|
ACCOUNT_FLAG_S2_REQUIRE_IGR = 0x40000000, // NYI UNK
|
||||||
ACCOUNT_FLAG_S2_TRIAL = 0x80000000, // NYI UNK
|
ACCOUNT_FLAG_S2_TRIAL = 0x80000000, // NYI UNK
|
||||||
ACCOUNT_FLAG_S2_RESTRICTED = 0xFFFFFFFF // NYI UNK
|
// ACCOUNT_FLAG_S2_RESTRICTED = 0xFFFFFFFF, // NYI UNK
|
||||||
};
|
};
|
||||||
|
|
||||||
enum LocaleConstant
|
enum LocaleConstant
|
||||||
|
|||||||
@@ -217,7 +217,11 @@ enum AcoreStrings
|
|||||||
LANG_INVALID_GAMEOBJECT_TYPE = 176,
|
LANG_INVALID_GAMEOBJECT_TYPE = 176,
|
||||||
LANG_GAMEOBJECT_DAMAGED = 177,
|
LANG_GAMEOBJECT_DAMAGED = 177,
|
||||||
LANG_GRID_POSITION = 178,
|
LANG_GRID_POSITION = 178,
|
||||||
// 179-185 used in other client versions
|
|
||||||
|
LANG_ACCOUNT_FLAGS_PINFO = 179,
|
||||||
|
|
||||||
|
// Free 180-185
|
||||||
|
|
||||||
LANG_TRANSPORT_POSITION = 186,
|
LANG_TRANSPORT_POSITION = 186,
|
||||||
LANG_PROFANITY_NAME = 187,
|
LANG_PROFANITY_NAME = 187,
|
||||||
LANG_2FA_SECRET_TOO_LONG = 188,
|
LANG_2FA_SECRET_TOO_LONG = 188,
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include "CharacterCache.h"
|
#include "CharacterCache.h"
|
||||||
#include "Chat.h"
|
#include "Chat.h"
|
||||||
#include "CommandScript.h"
|
#include "CommandScript.h"
|
||||||
|
#include "Common.h"
|
||||||
#include "GameGraveyard.h"
|
#include "GameGraveyard.h"
|
||||||
#include "GameTime.h"
|
#include "GameTime.h"
|
||||||
#include "GridNotifiers.h"
|
#include "GridNotifiers.h"
|
||||||
@@ -57,6 +58,49 @@
|
|||||||
constexpr auto SPELL_STUCK = 7355;
|
constexpr auto SPELL_STUCK = 7355;
|
||||||
constexpr auto SPELL_FREEZE = 9454;
|
constexpr auto SPELL_FREEZE = 9454;
|
||||||
|
|
||||||
|
struct AccountFlagText
|
||||||
|
{
|
||||||
|
AccountFlag flag;
|
||||||
|
std::string text;
|
||||||
|
};
|
||||||
|
|
||||||
|
AccountFlagText const accountFlagText[MAX_ACCOUNT_FLAG] =
|
||||||
|
{
|
||||||
|
{ ACCOUNT_FLAG_GM, "ACCOUNT_FLAG_GM" },
|
||||||
|
{ ACCOUNT_FLAG_NOKICK, "ACCOUNT_FLAG_NOKICK" },
|
||||||
|
{ ACCOUNT_FLAG_COLLECTOR, "ACCOUNT_FLAG_COLLECTOR" },
|
||||||
|
{ ACCOUNT_FLAG_TRIAL, "ACCOUNT_FLAG_TRIAL" },
|
||||||
|
{ ACCOUNT_FLAG_CANCELLED, "ACCOUNT_FLAG_CANCELLED" },
|
||||||
|
{ ACCOUNT_FLAG_IGR, "ACCOUNT_FLAG_IGR" },
|
||||||
|
{ ACCOUNT_FLAG_WHOLESALER, "ACCOUNT_FLAG_WHOLESALER" },
|
||||||
|
{ ACCOUNT_FLAG_PRIVILEGED, "ACCOUNT_FLAG_PRIVILEGED" },
|
||||||
|
{ ACCOUNT_FLAG_EU_FORBID_ELV, "ACCOUNT_FLAG_EU_FORBID_ELV" },
|
||||||
|
{ ACCOUNT_FLAG_EU_FORBID_BILLING, "ACCOUNT_FLAG_EU_FORBID_BILLING" },
|
||||||
|
{ ACCOUNT_FLAG_RESTRICTED, "ACCOUNT_FLAG_RESTRICTED" },
|
||||||
|
{ ACCOUNT_FLAG_REFERRAL, "ACCOUNT_FLAG_REFERRAL" },
|
||||||
|
{ ACCOUNT_FLAG_BLIZZARD, "ACCOUNT_FLAG_BLIZZARD" },
|
||||||
|
{ ACCOUNT_FLAG_RECURRING_BILLING, "ACCOUNT_FLAG_RECURRING_BILLING" },
|
||||||
|
{ ACCOUNT_FLAG_NOELECTUP, "ACCOUNT_FLAG_NOELECTUP" },
|
||||||
|
{ ACCOUNT_FLAG_KR_CERTIFICATE, "ACCOUNT_FLAG_KR_CERTIFICATE" },
|
||||||
|
{ ACCOUNT_FLAG_EXPANSION_COLLECTOR, "ACCOUNT_FLAG_EXPANSION_COLLECTOR" },
|
||||||
|
{ ACCOUNT_FLAG_DISABLE_VOICE, "ACCOUNT_FLAG_DISABLE_VOICE" },
|
||||||
|
{ ACCOUNT_FLAG_DISABLE_VOICE_SPEAK, "ACCOUNT_FLAG_DISABLE_VOICE_SPEAK" },
|
||||||
|
{ ACCOUNT_FLAG_REFERRAL_RESURRECT, "ACCOUNT_FLAG_REFERRAL_RESURRECT" },
|
||||||
|
{ ACCOUNT_FLAG_EU_FORBID_CC, "ACCOUNT_FLAG_EU_FORBID_CC" },
|
||||||
|
{ ACCOUNT_FLAG_OPENBETA_DELL, "ACCOUNT_FLAG_OPENBETA_DELL" },
|
||||||
|
{ ACCOUNT_FLAG_PROPASS, "ACCOUNT_FLAG_PROPASS" },
|
||||||
|
{ ACCOUNT_FLAG_PROPASS_LOCK, "ACCOUNT_FLAG_PROPASS_LOCK" },
|
||||||
|
{ ACCOUNT_FLAG_PENDING_UPGRADE, "ACCOUNT_FLAG_PENDING_UPGRADE" },
|
||||||
|
{ ACCOUNT_FLAG_RETAIL_FROM_TRIAL, "ACCOUNT_FLAG_RETAIL_FROM_TRIAL" },
|
||||||
|
{ ACCOUNT_FLAG_EXPANSION2_COLLECTOR, "ACCOUNT_FLAG_EXPANSION2_COLLECTOR" },
|
||||||
|
{ ACCOUNT_FLAG_OVERMIND_LINKED, "ACCOUNT_FLAG_OVERMIND_LINKED" },
|
||||||
|
{ ACCOUNT_FLAG_DEMOS, "ACCOUNT_FLAG_DEMOS" },
|
||||||
|
{ ACCOUNT_FLAG_DEATH_KNIGHT_OK, "ACCOUNT_FLAG_DEATH_KNIGHT_OK" },
|
||||||
|
{ ACCOUNT_FLAG_S2_REQUIRE_IGR, "ACCOUNT_FLAG_S2_REQUIRE_IGR" },
|
||||||
|
{ ACCOUNT_FLAG_S2_TRIAL, "ACCOUNT_FLAG_S2_TRIAL" },
|
||||||
|
// { ACCOUNT_FLAG_S2_RESTRICTED, "ACCOUNT_FLAG_S2_RESTRICTED" }
|
||||||
|
};
|
||||||
|
|
||||||
std::string const GetLocalizeCreatureName(Creature* creature, LocaleConstant locale)
|
std::string const GetLocalizeCreatureName(Creature* creature, LocaleConstant locale)
|
||||||
{
|
{
|
||||||
auto creatureTemplate = sObjectMgr->GetCreatureTemplate(creature->GetEntry());
|
auto creatureTemplate = sObjectMgr->GetCreatureTemplate(creature->GetEntry());
|
||||||
@@ -2193,6 +2237,15 @@ public:
|
|||||||
// Output V. LANG_PINFO_ACC_ACCOUNT
|
// Output V. LANG_PINFO_ACC_ACCOUNT
|
||||||
handler->PSendSysMessage(LANG_PINFO_ACC_ACCOUNT, userName, accId, security);
|
handler->PSendSysMessage(LANG_PINFO_ACC_ACCOUNT, userName, accId, security);
|
||||||
|
|
||||||
|
if (playerTarget)
|
||||||
|
{
|
||||||
|
uint32 accountFlags = playerTarget->GetSession()->GetAccountFlags();
|
||||||
|
handler->PSendSysMessage(LANG_ACCOUNT_FLAGS_PINFO);
|
||||||
|
for (uint8 i = 0; i < MAX_ACCOUNT_FLAG; i++)
|
||||||
|
if (accountFlags & static_cast<uint32>(accountFlagText[i].flag))
|
||||||
|
handler->PSendSysMessage(LANG_SUBCMDS_LIST_ENTRY, accountFlagText[i].text);
|
||||||
|
}
|
||||||
|
|
||||||
// Output VI. LANG_PINFO_ACC_LASTLOGIN
|
// Output VI. LANG_PINFO_ACC_LASTLOGIN
|
||||||
handler->PSendSysMessage(LANG_PINFO_ACC_LASTLOGIN, lastLogin, failedLogins);
|
handler->PSendSysMessage(LANG_PINFO_ACC_LASTLOGIN, lastLogin, failedLogins);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user