aboutsummaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authormaximius <none@none>2009-09-27 21:23:06 -0700
committermaximius <none@none>2009-09-27 21:23:06 -0700
commit77e5c0362e574d878fcc7f6eafd51df8d197e561 (patch)
tree349eecf4bfc1b579788b3fa2fc25078326f8bb82 /src/game
parent7d60e2fb184e7e62d62ce6592112af9f340d3a5a (diff)
*Add ".account addon" command, now players can change their account's expansion.
--HG-- branch : trunk
Diffstat (limited to 'src/game')
-rw-r--r--src/game/Chat.cpp1
-rw-r--r--src/game/Chat.h1
-rw-r--r--src/game/Language.h3
-rw-r--r--src/game/Level0.cpp19
4 files changed, 23 insertions, 1 deletions
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp
index 0318dedb8b7..32233aae5a9 100644
--- a/src/game/Chat.cpp
+++ b/src/game/Chat.cpp
@@ -74,6 +74,7 @@ ChatCommand * ChatHandler::getCommandTable()
static ChatCommand accountCommandTable[] =
{
+ { "addon", SEC_PLAYER, false, &ChatHandler::HandleAccountAddonCommand, "", NULL },
{ "create", SEC_CONSOLE, true, &ChatHandler::HandleAccountCreateCommand, "", NULL },
{ "delete", SEC_CONSOLE, true, &ChatHandler::HandleAccountDeleteCommand, "", NULL },
{ "onlinelist", SEC_CONSOLE, true, &ChatHandler::HandleAccountOnlineListCommand, "", NULL },
diff --git a/src/game/Chat.h b/src/game/Chat.h
index 252c198300b..1518cb6d45e 100644
--- a/src/game/Chat.h
+++ b/src/game/Chat.h
@@ -101,6 +101,7 @@ class TRINITY_DLL_SPEC ChatHandler
bool ShowHelpForSubCommands(ChatCommand *table, char const* cmd, char const* subcmd);
bool HandleAccountCommand(const char* args);
+ bool HandleAccountAddonCommand(const char* args);
bool HandleAccountCreateCommand(const char* args);
bool HandleAccountDeleteCommand(const char* args);
bool HandleAccountLockCommand(const char* args);
diff --git a/src/game/Language.h b/src/game/Language.h
index 048ba69bb43..e38d58f109e 100644
--- a/src/game/Language.h
+++ b/src/game/Language.h
@@ -86,7 +86,8 @@ enum TrinityStrings
LANG_USING_SCRIPT_LIB = 58,
LANG_USING_EVENT_AI = 59,
LANG_CONNECTED_PLAYERS = 60,
- // Room for more level 0 61-99 not used
+ LANG_ACCOUNT_ADDON = 61,
+ // Room for more level 0 62-99 not used
// level 1 chat
LANG_GLOBAL_NOTIFY = 100,
diff --git a/src/game/Level0.cpp b/src/game/Level0.cpp
index 1efd3f2ce7a..95e35475cc1 100644
--- a/src/game/Level0.cpp
+++ b/src/game/Level0.cpp
@@ -234,6 +234,25 @@ bool ChatHandler::HandleAccountPasswordCommand(const char* args)
return true;
}
+bool ChatHandler::HandleAccountAddonCommand(const char* args)
+{
+ if(!*args)
+ return false;
+
+ char *szExp = strtok((char*)args," ");
+
+ uint32 account_id = m_session->GetAccountId();
+
+ int lev=atoi(szExp); //get int anyway (0 if error)
+ if(lev < 0)
+ return false;
+
+ // No SQL injection
+ loginDatabase.PExecute("UPDATE account SET expansion = '%d' WHERE id = '%u'",lev,account_id);
+ PSendSysMessage(LANG_ACCOUNT_ADDON,lev);
+ return true;
+}
+
bool ChatHandler::HandleAccountLockCommand(const char* args)
{
if (!*args)