summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-02-24 19:46:26 +0300
committerAndrei Karas <akaras@inbox.ru>2016-02-24 19:46:26 +0300
commit61de258859b600011284a49d54bca1f31ecb6d3d (patch)
treeb5c6dba3f0329f9f52f9bcbf57dd14efeddf1e22 /src
parentca20df8ccb5eac498a9eab2f3c03d30fe495ef30 (diff)
downloadmanaplus-61de258859b600011284a49d54bca1f31ecb6d3d.tar.gz
manaplus-61de258859b600011284a49d54bca1f31ecb6d3d.tar.bz2
manaplus-61de258859b600011284a49d54bca1f31ecb6d3d.tar.xz
manaplus-61de258859b600011284a49d54bca1f31ecb6d3d.zip
Add chat command /showaccountinfo. Also add it to player context menu.
Diffstat (limited to 'src')
-rw-r--r--src/actions/commands.cpp9
-rw-r--r--src/actions/commands.h1
-rw-r--r--src/dyetool/actions/commands.cpp1
-rw-r--r--src/enums/input/inputaction.h1
-rw-r--r--src/gui/popups/popupmenu.cpp3
-rw-r--r--src/input/inputactionmap.h6
-rw-r--r--src/net/adminhandler.h2
-rw-r--r--src/net/eathena/adminhandler.cpp5
-rw-r--r--src/net/eathena/adminhandler.h2
-rw-r--r--src/net/tmwa/adminhandler.cpp4
-rw-r--r--src/net/tmwa/adminhandler.h3
11 files changed, 37 insertions, 0 deletions
diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp
index 68f1a71fe..e6721e4f0 100644
--- a/src/actions/commands.cpp
+++ b/src/actions/commands.cpp
@@ -1314,4 +1314,13 @@ impHandler(locatePlayer)
return true;
}
+impHandler(commandShowAccountInfo)
+{
+ const std::string args = event.args;
+ if (args.empty())
+ return false;
+ adminHandler->showAccountInfo(args);
+ return true;
+}
+
} // namespace Actions
diff --git a/src/actions/commands.h b/src/actions/commands.h
index 63cbe16c6..45f4364b1 100644
--- a/src/actions/commands.h
+++ b/src/actions/commands.h
@@ -110,6 +110,7 @@ namespace Actions
decHandler(commandShowCart);
decHandler(commandShowInventory);
decHandler(locatePlayer);
+ decHandler(commandShowAccountInfo);
} // namespace Actions
#undef decHandler
diff --git a/src/dyetool/actions/commands.cpp b/src/dyetool/actions/commands.cpp
index 555bc103b..83695c88b 100644
--- a/src/dyetool/actions/commands.cpp
+++ b/src/dyetool/actions/commands.cpp
@@ -110,5 +110,6 @@ impHandlerVoid(commandShowStorage)
impHandlerVoid(commandShowCart)
impHandlerVoid(commandShowInventory)
impHandlerVoid(locatePlayer)
+impHandlerVoid(commandShowAccountInfo)
} // namespace Actions
diff --git a/src/enums/input/inputaction.h b/src/enums/input/inputaction.h
index 8c60fa849..b59873d35 100644
--- a/src/enums/input/inputaction.h
+++ b/src/enums/input/inputaction.h
@@ -639,6 +639,7 @@ enumStart(InputAction)
COMMAND_SHOW_CART,
COMMAND_SHOW_INVENTORY,
LOCATE_PLAYER,
+ COMMAND_SHOW_ACCOUNT_INFO,
TOTAL
}
enumEnd(InputAction);
diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp
index aef4c661d..46d35d0d9 100644
--- a/src/gui/popups/popupmenu.cpp
+++ b/src/gui/popups/popupmenu.cpp
@@ -2667,6 +2667,9 @@ void PopupMenu::showPlayerGMCommands()
// TRANSLATORS: check player ip
mBrowserBox->addRow("ipcheck", _("Check ip"));
// TRANSLATORS: popup menu item
+ // TRANSLATORS: show player account info
+ mBrowserBox->addRow("/showaccountinfo 'NAME'", _("Show account info"));
+ // TRANSLATORS: popup menu item
// TRANSLATORS: show player level
mBrowserBox->addRow("/showlevel 'NAME'", _("Show level"));
// TRANSLATORS: popup menu item
diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h
index 9dcb7b05c..e1541690e 100644
--- a/src/input/inputactionmap.h
+++ b/src/input/inputactionmap.h
@@ -5323,6 +5323,12 @@ static const InputActionData inputActionData
"locate|locateplayer|whereplayer",
UseArgs_true,
Protected_true},
+ {"keyCommandShowAccountInfo",
+ defaultAction(&Actions::commandShowAccountInfo),
+ InputCondition::INGAME,
+ "showaccountinfo|showaccinfo|accinfo",
+ UseArgs_true,
+ Protected_true},
};
#undef defaultAction
diff --git a/src/net/adminhandler.h b/src/net/adminhandler.h
index 732a45391..0fe07136a 100644
--- a/src/net/adminhandler.h
+++ b/src/net/adminhandler.h
@@ -122,6 +122,8 @@ class AdminHandler notfinal
virtual void showInventoryList(const std::string &name) const = 0;
virtual void locatePlayer(const std::string &name) const = 0;
+
+ virtual void showAccountInfo(const std::string &name) const = 0;
};
} // namespace Net
diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp
index b8c70f17e..468be7117 100644
--- a/src/net/eathena/adminhandler.cpp
+++ b/src/net/eathena/adminhandler.cpp
@@ -248,4 +248,9 @@ void AdminHandler::locatePlayer(const std::string &name) const
chatHandler->talk("@where " + name, GENERAL_CHANNEL);
}
+void AdminHandler::showAccountInfo(const std::string &name) const
+{
+ chatHandler->talk("@accinfo " + name, GENERAL_CHANNEL);
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h
index fe2262d73..e82f88af2 100644
--- a/src/net/eathena/adminhandler.h
+++ b/src/net/eathena/adminhandler.h
@@ -98,6 +98,8 @@ class AdminHandler final : public Ea::AdminHandler
void locatePlayer(const std::string &name) const override final;
+ void showAccountInfo(const std::string &name) const override final;
+
protected:
static std::string mStatsName;
};
diff --git a/src/net/tmwa/adminhandler.cpp b/src/net/tmwa/adminhandler.cpp
index 4e5b1a095..d8af64d7b 100644
--- a/src/net/tmwa/adminhandler.cpp
+++ b/src/net/tmwa/adminhandler.cpp
@@ -178,4 +178,8 @@ void AdminHandler::locatePlayer(const std::string &name A_UNUSED) const
{
}
+void AdminHandler::showAccountInfo(const std::string &name A_UNUSED) const
+{
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/adminhandler.h b/src/net/tmwa/adminhandler.h
index 8af855473..bec2c6c40 100644
--- a/src/net/tmwa/adminhandler.h
+++ b/src/net/tmwa/adminhandler.h
@@ -105,6 +105,9 @@ class AdminHandler final : public Ea::AdminHandler
void locatePlayer(const std::string &name) const override final
A_CONST;
+
+ void showAccountInfo(const std::string &name) const override final
+ A_CONST;
};
} // namespace TmwAthena