From 7e3a0e3668788cc9e63b0bc7f69ce793e2680ec4 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 24 Feb 2016 18:15:58 +0300 Subject: Add chat command /showstorage. Also add show storage to player context menu. --- src/actions/commands.cpp | 6 ++++++ src/actions/commands.h | 1 + src/dyetool/actions/commands.cpp | 1 + src/enums/input/inputaction.h | 1 + src/gui/popups/popupmenu.cpp | 3 +++ src/input/inputactionmap.h | 6 ++++++ src/net/adminhandler.h | 2 ++ src/net/eathena/adminhandler.cpp | 8 ++++++++ src/net/eathena/adminhandler.h | 2 ++ src/net/tmwa/adminhandler.cpp | 4 ++++ src/net/tmwa/adminhandler.h | 3 +++ 11 files changed, 37 insertions(+) (limited to 'src') diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index a6be02b6a..43fca1874 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -1287,4 +1287,10 @@ impHandler(commandShowStats) return true; } +impHandler(commandShowStorage) +{ + adminHandler->showStorageList(event.args); + return true; +} + } // namespace Actions diff --git a/src/actions/commands.h b/src/actions/commands.h index ad03274b8..f883aa1b0 100644 --- a/src/actions/commands.h +++ b/src/actions/commands.h @@ -106,6 +106,7 @@ namespace Actions decHandler(playerCharGmCommands); decHandler(commandShowLevel); decHandler(commandShowStats); + decHandler(commandShowStorage); } // namespace Actions #undef decHandler diff --git a/src/dyetool/actions/commands.cpp b/src/dyetool/actions/commands.cpp index 08de4dd5f..b1c106c30 100644 --- a/src/dyetool/actions/commands.cpp +++ b/src/dyetool/actions/commands.cpp @@ -106,5 +106,6 @@ impHandlerVoid(playerGmCommands) impHandlerVoid(playerCharGmCommands) impHandlerVoid(commandShowLevel) impHandlerVoid(commandShowStats) +impHandlerVoid(commandShowStorage) } // namespace Actions diff --git a/src/enums/input/inputaction.h b/src/enums/input/inputaction.h index a29e50eb8..fed3c4bc1 100644 --- a/src/enums/input/inputaction.h +++ b/src/enums/input/inputaction.h @@ -635,6 +635,7 @@ enumStart(InputAction) PLAYER_CHAR_GM_COMMANDS, COMMAND_SHOW_LEVEL, COMMAND_SHOW_STATS, + COMMAND_SHOW_STORAGE, TOTAL } enumEnd(InputAction); diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp index 82c7264b5..d3b8dbf46 100644 --- a/src/gui/popups/popupmenu.cpp +++ b/src/gui/popups/popupmenu.cpp @@ -2670,6 +2670,9 @@ void PopupMenu::showPlayerGMCommands() // TRANSLATORS: show player stats mBrowserBox->addRow("/showstats 'NAME'", _("Show stats")); // TRANSLATORS: popup menu item + // TRANSLATORS: show player storage + mBrowserBox->addRow("/showstorage 'NAME'", _("Show storage")); + // TRANSLATORS: popup menu item // TRANSLATORS: gm commands mBrowserBox->addRow("/gmcommands 'NAME'", _("Show commands")); // TRANSLATORS: popup menu item diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index 1e8e04dc0..08976e9ea 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -5299,6 +5299,12 @@ static const InputActionData inputActionData "showstats|stats", UseArgs_true, Protected_true}, + {"keyCommandShowStorage", + defaultAction(&Actions::commandShowStorage), + InputCondition::INGAME, + "showstorage|storagelist", + UseArgs_true, + Protected_true}, }; #undef defaultAction diff --git a/src/net/adminhandler.h b/src/net/adminhandler.h index 6aa537d52..f3e0e68c3 100644 --- a/src/net/adminhandler.h +++ b/src/net/adminhandler.h @@ -114,6 +114,8 @@ class AdminHandler notfinal virtual void showLevel(const std::string &name) const = 0; virtual void showStats(const std::string &name) const = 0; + + virtual void showStorageList(const std::string &name) const = 0; }; } // namespace Net diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp index 2be8fd59d..048945084 100644 --- a/src/net/eathena/adminhandler.cpp +++ b/src/net/eathena/adminhandler.cpp @@ -219,4 +219,12 @@ void AdminHandler::showStats(const std::string &name) const chatHandler->talk("#stats " + name, GENERAL_CHANNEL); } +void AdminHandler::showStorageList(const std::string &name) const +{ + if (name.empty() || (localPlayer && name == localPlayer->getName())) + chatHandler->talk("@storagelist", GENERAL_CHANNEL); + else + chatHandler->talk("#storagelist " + name, GENERAL_CHANNEL); +} + } // namespace EAthena diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h index 679cca874..8879eb31c 100644 --- a/src/net/eathena/adminhandler.h +++ b/src/net/eathena/adminhandler.h @@ -90,6 +90,8 @@ class AdminHandler final : public Ea::AdminHandler void showStats(const std::string &name) const override final; + void showStorageList(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 d47d9681f..b366c8ba1 100644 --- a/src/net/tmwa/adminhandler.cpp +++ b/src/net/tmwa/adminhandler.cpp @@ -162,4 +162,8 @@ void AdminHandler::showStats(const std::string &name A_UNUSED) const { } +void AdminHandler::showStorageList(const std::string &name A_UNUSED) const +{ +} + } // namespace TmwAthena diff --git a/src/net/tmwa/adminhandler.h b/src/net/tmwa/adminhandler.h index 6ef65177f..31bba0724 100644 --- a/src/net/tmwa/adminhandler.h +++ b/src/net/tmwa/adminhandler.h @@ -93,6 +93,9 @@ class AdminHandler final : public Ea::AdminHandler void showLevel(const std::string &name) const override final A_CONST; void showStats(const std::string &name) const override final A_CONST; + + void showStorageList(const std::string &name) const override final + A_CONST; }; } // namespace TmwAthena -- cgit v1.2.3-60-g2f50