TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
battlenet_account_commandscript Class Reference

Public Member Functions

 battlenet_account_commandscript ()
 
std::vector< ChatCommandGetCommands () const override
 
- Public Member Functions inherited from ScriptObject
const std::string & GetName () const
 

Static Public Member Functions

static bool HandleAccountCreateCommand (ChatHandler *handler, char const *args)
 Create an account. More...
 
static bool HandleAccountLockCountryCommand (ChatHandler *handler, char const *args)
 
static bool HandleAccountLockIpCommand (ChatHandler *handler, char const *args)
 
static bool HandleAccountPasswordCommand (ChatHandler *handler, char const *args)
 
static bool HandleAccountSetPasswordCommand (ChatHandler *handler, char const *args)
 Set password for account. More...
 
static bool HandleAccountLinkCommand (ChatHandler *handler, char const *args)
 
static bool HandleAccountUnlinkCommand (ChatHandler *handler, char const *args)
 
static bool HandleGameAccountCreateCommand (ChatHandler *handler, char const *args)
 

Additional Inherited Members

- Protected Member Functions inherited from CommandScript
 CommandScript (const char *name)
 
- Protected Member Functions inherited from ScriptObject
 ScriptObject (const char *name)
 
virtual ~ScriptObject ()
 

Constructor & Destructor Documentation

battlenet_account_commandscript::battlenet_account_commandscript ( )
inline
29 : CommandScript("battlenet_account_commandscript") { }
CommandScript(const char *name)
Definition: ScriptMgr.cpp:1616

Member Function Documentation

std::vector<ChatCommand> battlenet_account_commandscript::GetCommands ( ) const
inlineoverridevirtual

Implements CommandScript.

32  {
33  static std::vector<ChatCommand> accountSetCommandTable =
34  {
36  };
37 
38  static std::vector<ChatCommand> accountLockCommandTable =
39  {
42  };
43 
44  static std::vector<ChatCommand> accountCommandTable =
45  {
48  { "lock", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT, false, NULL, "", accountLockCommandTable },
49  { "set", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_SET, true, NULL, "", accountSetCommandTable },
53  };
54 
55  static std::vector<ChatCommand> commandTable =
56  {
57  { "bnetaccount", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT, true, NULL, "", accountCommandTable },
58  };
59 
60  return commandTable;
61  }
static bool HandleAccountPasswordCommand(ChatHandler *handler, char const *args)
Definition: cs_battlenet_account.cpp:208
static bool HandleGameAccountCreateCommand(ChatHandler *handler, char const *args)
Definition: cs_battlenet_account.cpp:399
static bool HandleAccountLockIpCommand(ChatHandler *handler, char const *args)
Definition: cs_battlenet_account.cpp:171
static bool HandleAccountSetPasswordCommand(ChatHandler *handler, char const *args)
Set password for account.
Definition: cs_battlenet_account.cpp:274
arena_t NULL
Definition: jemalloc_internal.h:624
static bool HandleAccountLockCountryCommand(ChatHandler *handler, char const *args)
Definition: cs_battlenet_account.cpp:119
static bool HandleAccountUnlinkCommand(ChatHandler *handler, char const *args)
Definition: cs_battlenet_account.cpp:368
static bool HandleAccountLinkCommand(ChatHandler *handler, char const *args)
Definition: cs_battlenet_account.cpp:335
static bool HandleAccountCreateCommand(ChatHandler *handler, char const *args)
Create an account.
Definition: cs_battlenet_account.cpp:64

+ Here is the call graph for this function:

static bool battlenet_account_commandscript::HandleAccountCreateCommand ( ChatHandler handler,
char const args 
)
inlinestatic

Create an account.

  • Parse the command line arguments
65  {
66  if (!*args)
67  return false;
68 
70  char* accountName = strtok((char*)args, " ");
71  char* password = strtok(NULL, " ");
72  if (!accountName || !password)
73  return false;
74 
75  if (!strchr(accountName, '@'))
76  {
78  handler->SetSentErrorMessage(true);
79  return false;
80  }
81 
82  char* createGameAccountParam = strtok(NULL, " ");
83  bool createGameAccount = true;
84  if (createGameAccountParam)
85  createGameAccount = StringToBool(createGameAccountParam);
86 
87  switch (Battlenet::AccountMgr::CreateBattlenetAccount(std::string(accountName), std::string(password), createGameAccount))
88  {
90  handler->PSendSysMessage(LANG_ACCOUNT_CREATED, accountName);
91  if (handler->GetSession())
92  {
93  TC_LOG_INFO("entities.player.character", "Battle.net account: %u (IP: %s) Character:[%s] (%s) created Account %s",
94  handler->GetSession()->GetAccountId(), handler->GetSession()->GetRemoteAddress().c_str(),
95  handler->GetSession()->GetPlayer()->GetName().c_str(), handler->GetSession()->GetPlayer()->GetGUID().ToString().c_str(),
96  accountName);
97  }
98  break;
101  handler->SetSentErrorMessage(true);
102  return false;
105  handler->SetSentErrorMessage(true);
106  return false;
109  handler->SetSentErrorMessage(true);
110  return false;
111  default:
112  break;
113  }
114 
115  return true;
116  }
void SetSentErrorMessage(bool val)
Definition: Chat.h:138
Definition: Language.h:875
Definition: Language.h:874
arena_t NULL
Definition: jemalloc_internal.h:624
uint32 GetAccountId() const
Definition: WorldSession.h:922
Player * GetPlayer() const
Definition: WorldSession.h:927
TC_GAME_API AccountOpResult CreateBattlenetAccount(std::string email, std::string password, bool withGameAccount=true)
Definition: BattlenetAccountMgr.cpp:26
bool StringToBool(std::string const &str)
Definition: Util.cpp:558
Definition: Language.h:873
std::string const & GetRemoteAddress() const
Definition: WorldSession.h:932
Definition: Language.h:898
WorldSession * GetSession()
Definition: Chat.h:59
#define TC_LOG_INFO(filterType__,...)
Definition: Log.h:201
void PSendSysMessage(const char *fmt, Args &&...args)
Definition: Chat.h:72
virtual void SendSysMessage(char const *str, bool escapeCharacters=false)
Definition: Chat.cpp:152
Definition: Language.h:88

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool battlenet_account_commandscript::HandleAccountLinkCommand ( ChatHandler handler,
char const args 
)
inlinestatic
336  {
337  Tokenizer tokens(args, ' ', 2);
338  if (tokens.size() != 2)
339  {
341  handler->SetSentErrorMessage(true);
342  return false;
343  }
344 
345  std::string bnetAccountName = tokens[0];
346  std::string gameAccountName = tokens[1];
347 
348  switch (Battlenet::AccountMgr::LinkWithGameAccount(bnetAccountName, gameAccountName))
349  {
351  handler->PSendSysMessage(LANG_ACCOUNT_BNET_LINKED, bnetAccountName.c_str(), gameAccountName.c_str());
352  break;
354  handler->PSendSysMessage(LANG_ACCOUNT_OR_BNET_DOES_NOT_EXIST, bnetAccountName.c_str(), gameAccountName.c_str());
355  handler->SetSentErrorMessage(true);
356  break;
358  handler->PSendSysMessage(LANG_ACCOUNT_ALREADY_LINKED, gameAccountName.c_str());
359  handler->SetSentErrorMessage(true);
360  break;
361  default:
362  break;
363  }
364 
365  return true;
366  }
void SetSentErrorMessage(bool val)
Definition: Chat.h:138
Definition: Util.h:45
Definition: Language.h:43
Definition: Language.h:990
TC_GAME_API AccountOpResult LinkWithGameAccount(std::string const &email, std::string const &gameAccountName)
Definition: BattlenetAccountMgr.cpp:90
Definition: Language.h:988
void PSendSysMessage(const char *fmt, Args &&...args)
Definition: Chat.h:72
virtual void SendSysMessage(char const *str, bool escapeCharacters=false)
Definition: Chat.cpp:152
Definition: Language.h:989

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool battlenet_account_commandscript::HandleAccountLockCountryCommand ( ChatHandler handler,
char const args 
)
inlinestatic
120  {
121  if (!*args)
122  {
123  handler->SendSysMessage(LANG_USE_BOL);
124  handler->SetSentErrorMessage(true);
125  return false;
126  }
127 
128  std::string param = (char*)args;
129  if (!param.empty())
130  {
131  if (param == "on")
132  {
134  uint32 ip = inet_addr(handler->GetSession()->GetRemoteAddress().c_str());
136  stmt->setUInt32(0, ip);
137  PreparedQueryResult result = LoginDatabase.Query(stmt);
138  if (result)
139  {
140  Field* fields = result->Fetch();
141  std::string country = fields[0].GetString();
143  stmt->setString(0, country);
144  stmt->setUInt32(1, handler->GetSession()->GetBattlenetAccountId());
145  LoginDatabase.Execute(stmt);
147  }
148  else
149  {
150  handler->PSendSysMessage("[IP2NATION] Table empty");
151  TC_LOG_DEBUG("server.bnetserver", "[IP2NATION] Table empty");
152  }
153  }
154  else if (param == "off")
155  {
157  stmt->setString(0, "00");
158  stmt->setUInt32(1, handler->GetSession()->GetBattlenetAccountId());
159  LoginDatabase.Execute(stmt);
161  }
162  return true;
163  }
164 
165  handler->SendSysMessage(LANG_USE_BOL);
166  handler->SetSentErrorMessage(true);
167  return false;
168  }
void SetSentErrorMessage(bool val)
Definition: Chat.h:138
void Execute(const char *sql)
Definition: DatabaseWorkerPool.h:87
std::shared_ptr< PreparedResultSet > PreparedQueryResult
Definition: QueryResult.h:107
Definition: LoginDatabase.h:127
Class used to access individual fields of database query result.
Definition: Field.h:56
void setString(const uint8 index, const std::string &value)
Definition: PreparedStatement.cpp:187
uint32 GetBattlenetAccountId() const
Definition: WorldSession.h:925
#define TC_LOG_DEBUG(filterType__,...)
Definition: Log.h:198
Definition: Language.h:61
Definition: PreparedStatement.h:74
LoginDatabaseWorkerPool LoginDatabase
Accessor to the realm/login database.
Definition: DatabaseEnv.cpp:22
void EndianConvertReverse(T &)
Definition: ByteConverter.h:49
Definition: Language.h:290
std::string const & GetRemoteAddress() const
Definition: WorldSession.h:932
Definition: Language.h:62
uint32_t uint32
Definition: Define.h:150
PreparedStatement * GetPreparedStatement(PreparedStatementIndex index)
Definition: DatabaseWorkerPool.h:263
Definition: LoginDatabase.h:43
void setUInt32(const uint8 index, const uint32 value)
Definition: PreparedStatement.cpp:115
QueryResult Query(const char *sql, T *connection=nullptr)
Definition: DatabaseWorkerPool.cpp:113
WorldSession * GetSession()
Definition: Chat.h:59
void PSendSysMessage(const char *fmt, Args &&...args)
Definition: Chat.h:72
virtual void SendSysMessage(char const *str, bool escapeCharacters=false)
Definition: Chat.cpp:152
std::string GetString() const
Definition: Field.h:276

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool battlenet_account_commandscript::HandleAccountLockIpCommand ( ChatHandler handler,
char const args 
)
inlinestatic
172  {
173  if (!*args)
174  {
175  handler->SendSysMessage(LANG_USE_BOL);
176  handler->SetSentErrorMessage(true);
177  return false;
178  }
179 
180  std::string param = (char*)args;
181 
182  if (!param.empty())
183  {
185 
186  if (param == "on")
187  {
188  stmt->setBool(0, true); // locked
190  }
191  else if (param == "off")
192  {
193  stmt->setBool(0, false); // unlocked
195  }
196 
197  stmt->setUInt32(1, handler->GetSession()->GetBattlenetAccountId());
198 
199  LoginDatabase.Execute(stmt);
200  return true;
201  }
202 
203  handler->SendSysMessage(LANG_USE_BOL);
204  handler->SetSentErrorMessage(true);
205  return false;
206  }
void SetSentErrorMessage(bool val)
Definition: Chat.h:138
void Execute(const char *sql)
Definition: DatabaseWorkerPool.h:87
uint32 GetBattlenetAccountId() const
Definition: WorldSession.h:925
Definition: Language.h:61
Definition: PreparedStatement.h:74
LoginDatabaseWorkerPool LoginDatabase
Accessor to the realm/login database.
Definition: DatabaseEnv.cpp:22
void setBool(const uint8 index, const bool value)
Definition: PreparedStatement.cpp:88
Definition: LoginDatabase.h:126
Definition: Language.h:290
Definition: Language.h:62
PreparedStatement * GetPreparedStatement(PreparedStatementIndex index)
Definition: DatabaseWorkerPool.h:263
void setUInt32(const uint8 index, const uint32 value)
Definition: PreparedStatement.cpp:115
WorldSession * GetSession()
Definition: Chat.h:59
void PSendSysMessage(const char *fmt, Args &&...args)
Definition: Chat.h:72
virtual void SendSysMessage(char const *str, bool escapeCharacters=false)
Definition: Chat.cpp:152

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool battlenet_account_commandscript::HandleAccountPasswordCommand ( ChatHandler handler,
char const args 
)
inlinestatic
209  {
210  // If no args are given at all, we can return false right away.
211  if (!*args)
212  {
214  handler->SetSentErrorMessage(true);
215  return false;
216  }
217 
218  // Command is supposed to be: .account password [$oldpassword] [$newpassword] [$newpasswordconfirmation] [$emailconfirmation]
219  char* oldPassword = strtok((char*)args, " "); // This extracts [$oldpassword]
220  char* newPassword = strtok(NULL, " "); // This extracts [$newpassword]
221  char* passwordConfirmation = strtok(NULL, " "); // This extracts [$newpasswordconfirmation]
222 
223  //Is any of those variables missing for any reason ? We return false.
224  if (!oldPassword || !newPassword || !passwordConfirmation)
225  {
227  handler->SetSentErrorMessage(true);
228  return false;
229  }
230 
231  // We compare the old, saved password to the entered old password - no chance for the unauthorized.
232  if (!Battlenet::AccountMgr::CheckPassword(handler->GetSession()->GetAccountId(), std::string(oldPassword)))
233  {
235  handler->SetSentErrorMessage(true);
236  TC_LOG_INFO("entities.player.character", "Battle.net account: %u (IP: %s) Character:[%s] (%s) Tried to change password, but the provided old password is wrong.",
237  handler->GetSession()->GetAccountId(), handler->GetSession()->GetRemoteAddress().c_str(),
238  handler->GetSession()->GetPlayer()->GetName().c_str(), handler->GetSession()->GetPlayer()->GetGUID().ToString().c_str());
239  return false;
240  }
241 
242  // Making sure that newly entered password is correctly entered.
243  if (strcmp(newPassword, passwordConfirmation) != 0)
244  {
246  handler->SetSentErrorMessage(true);
247  return false;
248  }
249 
250  // Changes password and prints result.
251  AccountOpResult result = Battlenet::AccountMgr::ChangePassword(handler->GetSession()->GetBattlenetAccountId(), std::string(newPassword));
252  switch (result)
253  {
256  TC_LOG_INFO("entities.player.character", "Battle.net account: %u (IP: %s) Character:[%s] (%s) Changed Password.",
257  handler->GetSession()->GetBattlenetAccountId(), handler->GetSession()->GetRemoteAddress().c_str(),
258  handler->GetSession()->GetPlayer()->GetName().c_str(), handler->GetSession()->GetPlayer()->GetGUID().ToString().c_str());
259  break;
262  handler->SetSentErrorMessage(true);
263  return false;
264  default:
266  handler->SetSentErrorMessage(true);
267  return false;
268  }
269 
270  return true;
271  }
void SetSentErrorMessage(bool val)
Definition: Chat.h:138
Definition: Language.h:60
Definition: Language.h:43
uint32 GetBattlenetAccountId() const
Definition: WorldSession.h:925
arena_t NULL
Definition: jemalloc_internal.h:624
uint32 GetAccountId() const
Definition: WorldSession.h:922
Player * GetPlayer() const
Definition: WorldSession.h:927
Definition: Language.h:58
TC_GAME_API AccountOpResult ChangePassword(uint32 accountId, std::string newPassword)
Definition: BattlenetAccountMgr.cpp:54
AccountOpResult
Definition: AccountMgr.h:24
std::string const & GetRemoteAddress() const
Definition: WorldSession.h:932
TC_GAME_API bool CheckPassword(uint32 accountId, std::string password)
Definition: BattlenetAccountMgr.cpp:73
WorldSession * GetSession()
Definition: Chat.h:59
#define TC_LOG_INFO(filterType__,...)
Definition: Log.h:201
Definition: Language.h:59
Definition: Language.h:87
virtual void SendSysMessage(char const *str, bool escapeCharacters=false)
Definition: Chat.cpp:152
Definition: Language.h:88

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool battlenet_account_commandscript::HandleAccountSetPasswordCommand ( ChatHandler handler,
char const args 
)
inlinestatic

Set password for account.

  • Get the command line arguments
275  {
276  if (!*args)
277  {
279  handler->SetSentErrorMessage(true);
280  return false;
281  }
282 
284  char* account = strtok((char*)args, " ");
285  char* password = strtok(NULL, " ");
286  char* passwordConfirmation = strtok(NULL, " ");
287 
288  if (!account || !password || !passwordConfirmation)
289  return false;
290 
291  std::string accountName = account;
292  if (!Utf8ToUpperOnlyLatin(accountName))
293  {
294  handler->PSendSysMessage(LANG_ACCOUNT_NOT_EXIST, accountName.c_str());
295  handler->SetSentErrorMessage(true);
296  return false;
297  }
298 
299  uint32 targetAccountId = Battlenet::AccountMgr::GetId(accountName);
300  if (!targetAccountId)
301  {
302  handler->PSendSysMessage(LANG_ACCOUNT_NOT_EXIST, accountName.c_str());
303  handler->SetSentErrorMessage(true);
304  return false;
305  }
306 
307  if (strcmp(password, passwordConfirmation))
308  {
310  handler->SetSentErrorMessage(true);
311  return false;
312  }
313 
314  AccountOpResult result = Battlenet::AccountMgr::ChangePassword(targetAccountId, password);
315 
316  switch (result)
317  {
320  break;
322  handler->PSendSysMessage(LANG_ACCOUNT_NOT_EXIST, accountName.c_str());
323  handler->SetSentErrorMessage(true);
324  return false;
327  handler->SetSentErrorMessage(true);
328  return false;
329  default:
330  break;
331  }
332  return true;
333  }
void SetSentErrorMessage(bool val)
Definition: Chat.h:138
Definition: Language.h:43
arena_t NULL
Definition: jemalloc_internal.h:624
TC_GAME_API uint32 GetId(std::string const &username)
Definition: BattlenetAccountMgr.cpp:128
TC_GAME_API AccountOpResult ChangePassword(uint32 accountId, std::string newPassword)
Definition: BattlenetAccountMgr.cpp:54
AccountOpResult
Definition: AccountMgr.h:24
uint32_t uint32
Definition: Define.h:150
Definition: Language.h:412
void PSendSysMessage(const char *fmt, Args &&...args)
Definition: Chat.h:72
Definition: Language.h:59
bool Utf8ToUpperOnlyLatin(std::string &utf8String)
Definition: Util.cpp:498
Definition: Language.h:87
virtual void SendSysMessage(char const *str, bool escapeCharacters=false)
Definition: Chat.cpp:152
Definition: Language.h:88

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool battlenet_account_commandscript::HandleAccountUnlinkCommand ( ChatHandler handler,
char const args 
)
inlinestatic
369  {
370  if (!*args)
371  {
373  handler->SetSentErrorMessage(true);
374  return false;
375  }
376 
377  std::string gameAccountName = args;
378 
379  switch (Battlenet::AccountMgr::UnlinkGameAccount(gameAccountName))
380  {
382  handler->PSendSysMessage(LANG_ACCOUNT_BNET_UNLINKED, gameAccountName.c_str());
383  break;
385  handler->PSendSysMessage(LANG_ACCOUNT_NOT_EXIST, gameAccountName.c_str());
386  handler->SetSentErrorMessage(true);
387  break;
389  handler->PSendSysMessage(LANG_ACCOUNT_BNET_NOT_LINKED, gameAccountName.c_str());
390  handler->SetSentErrorMessage(true);
391  break;
392  default:
393  break;
394  }
395 
396  return true;
397  }
void SetSentErrorMessage(bool val)
Definition: Chat.h:138
Definition: Language.h:43
Definition: Language.h:992
Definition: Language.h:412
void PSendSysMessage(const char *fmt, Args &&...args)
Definition: Chat.h:72
Definition: Language.h:991
virtual void SendSysMessage(char const *str, bool escapeCharacters=false)
Definition: Chat.cpp:152
TC_GAME_API AccountOpResult UnlinkGameAccount(std::string const &gameAccountName)
Definition: BattlenetAccountMgr.cpp:111

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool battlenet_account_commandscript::HandleGameAccountCreateCommand ( ChatHandler handler,
char const args 
)
inlinestatic
400  {
401  if (!*args)
402  {
404  handler->SetSentErrorMessage(true);
405  return false;
406  }
407 
408  std::string bnetAccountName = args;
409  uint32 accountId = Battlenet::AccountMgr::GetId(bnetAccountName);
410  if (!accountId)
411  {
412  handler->PSendSysMessage(LANG_ACCOUNT_NOT_EXIST, bnetAccountName.c_str());
413  handler->SetSentErrorMessage(true);
414  return false;
415  }
416 
417  uint8 index = Battlenet::AccountMgr::GetMaxIndex(accountId) + 1;
418  std::string accountName = std::to_string(accountId) + '#' + std::to_string(uint32(index));
419 
420  // Generate random hex string for password, these accounts must not be logged on with GRUNT
421  BigNumber randPassword;
422  randPassword.SetRand(8 * 16);
423 
424  switch (sAccountMgr->CreateAccount(accountName, ByteArrayToHexStr(randPassword.AsByteArray().get(), randPassword.GetNumBytes()), bnetAccountName, accountId, index))
425  {
427  handler->PSendSysMessage(LANG_ACCOUNT_CREATED, accountName.c_str());
428  if (handler->GetSession())
429  {
430  TC_LOG_INFO("entities.player.character", "Account: %u (IP: %s) Character:[%s] (%s) created Account %s (Email: '%s')",
431  handler->GetSession()->GetAccountId(), handler->GetSession()->GetRemoteAddress().c_str(),
432  handler->GetSession()->GetPlayer()->GetName().c_str(), handler->GetSession()->GetPlayer()->GetGUID().ToString().c_str(),
433  accountName.c_str(), bnetAccountName.c_str());
434  }
435  break;
438  handler->SetSentErrorMessage(true);
439  return false;
442  handler->SetSentErrorMessage(true);
443  return false;
445  handler->PSendSysMessage(LANG_ACCOUNT_NOT_CREATED_SQL_ERROR, accountName.c_str());
446  handler->SetSentErrorMessage(true);
447  return false;
448  default:
449  handler->PSendSysMessage(LANG_ACCOUNT_NOT_CREATED, accountName.c_str());
450  handler->SetSentErrorMessage(true);
451  return false;
452  }
453 
454  return true;
455  }
Definition: BigNumber.h:28
Definition: Language.h:877
void SetSentErrorMessage(bool val)
Definition: Chat.h:138
Definition: Language.h:875
Definition: Language.h:43
Definition: Language.h:874
uint32 GetAccountId() const
Definition: WorldSession.h:922
Player * GetPlayer() const
Definition: WorldSession.h:927
TC_GAME_API uint8 GetMaxIndex(uint32 accountId)
Definition: BattlenetAccountMgr.cpp:161
int32 GetNumBytes(void)
Definition: BigNumber.cpp:157
TC_GAME_API uint32 GetId(std::string const &username)
Definition: BattlenetAccountMgr.cpp:128
Definition: Language.h:873
std::string const & GetRemoteAddress() const
Definition: WorldSession.h:932
uint32_t uint32
Definition: Define.h:150
void SetRand(int32 numbits)
Definition: BigNumber.cpp:74
#define sAccountMgr
Definition: AccountMgr.h:98
Definition: Language.h:876
std::string ByteArrayToHexStr(uint8 const *bytes, uint32 arrayLen, bool reverse)
Definition: Util.cpp:509
std::unique_ptr< uint8[]> AsByteArray(int32 minSize=0, bool littleEndian=true)
Definition: BigNumber.cpp:177
WorldSession * GetSession()
Definition: Chat.h:59
uint8_t uint8
Definition: Define.h:152
Definition: Language.h:412
#define TC_LOG_INFO(filterType__,...)
Definition: Log.h:201
void PSendSysMessage(const char *fmt, Args &&...args)
Definition: Chat.h:72
uint32_t uint32
Definition: g3dmath.h:168
virtual void SendSysMessage(char const *str, bool escapeCharacters=false)
Definition: Chat.cpp:152

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


The documentation for this class was generated from the following file: