From bb604b783f5909d068ced29e17a698a37115ebb6 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 24 Feb 2016 18:28:40 +0300 Subject: Add chat command /showcart. Also add show cart 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 | 5 ++++- src/input/inputactionmap.h | 8 +++++++- 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, 39 insertions(+), 2 deletions(-) diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index 43fca1874..503cb95dc 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -1293,4 +1293,10 @@ impHandler(commandShowStorage) return true; } +impHandler(commandShowCart) +{ + adminHandler->showCartList(event.args); + return true; +} + } // namespace Actions diff --git a/src/actions/commands.h b/src/actions/commands.h index f883aa1b0..c425d7086 100644 --- a/src/actions/commands.h +++ b/src/actions/commands.h @@ -107,6 +107,7 @@ namespace Actions decHandler(commandShowLevel); decHandler(commandShowStats); decHandler(commandShowStorage); + decHandler(commandShowCart); } // namespace Actions #undef decHandler diff --git a/src/dyetool/actions/commands.cpp b/src/dyetool/actions/commands.cpp index b1c106c30..f2a7f823b 100644 --- a/src/dyetool/actions/commands.cpp +++ b/src/dyetool/actions/commands.cpp @@ -107,5 +107,6 @@ impHandlerVoid(playerCharGmCommands) impHandlerVoid(commandShowLevel) impHandlerVoid(commandShowStats) impHandlerVoid(commandShowStorage) +impHandlerVoid(commandShowCart) } // namespace Actions diff --git a/src/enums/input/inputaction.h b/src/enums/input/inputaction.h index fed3c4bc1..e4acdecdc 100644 --- a/src/enums/input/inputaction.h +++ b/src/enums/input/inputaction.h @@ -636,6 +636,7 @@ enumStart(InputAction) COMMAND_SHOW_LEVEL, COMMAND_SHOW_STATS, COMMAND_SHOW_STORAGE, + COMMAND_SHOW_CART, TOTAL } enumEnd(InputAction); diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp index d3b8dbf46..da983f513 100644 --- a/src/gui/popups/popupmenu.cpp +++ b/src/gui/popups/popupmenu.cpp @@ -2670,9 +2670,12 @@ void PopupMenu::showPlayerGMCommands() // TRANSLATORS: show player stats mBrowserBox->addRow("/showstats 'NAME'", _("Show stats")); // TRANSLATORS: popup menu item - // TRANSLATORS: show player storage + // TRANSLATORS: show player storage list mBrowserBox->addRow("/showstorage 'NAME'", _("Show storage")); // TRANSLATORS: popup menu item + // TRANSLATORS: show player cart list + mBrowserBox->addRow("/showcart 'NAME'", _("Show cart")); + // 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 08976e9ea..698ce7765 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -5299,12 +5299,18 @@ static const InputActionData inputActionData "showstats|stats", UseArgs_true, Protected_true}, - {"keyCommandShowStorage", + {"keyCommandShowStorageList", defaultAction(&Actions::commandShowStorage), InputCondition::INGAME, "showstorage|storagelist", UseArgs_true, Protected_true}, + {"keyCommandShowCartList", + defaultAction(&Actions::commandShowCart), + InputCondition::INGAME, + "showcart|cartlist", + UseArgs_true, + Protected_true}, }; #undef defaultAction diff --git a/src/net/adminhandler.h b/src/net/adminhandler.h index f3e0e68c3..ffc180028 100644 --- a/src/net/adminhandler.h +++ b/src/net/adminhandler.h @@ -116,6 +116,8 @@ class AdminHandler notfinal virtual void showStats(const std::string &name) const = 0; virtual void showStorageList(const std::string &name) const = 0; + + virtual void showCartList(const std::string &name) const = 0; }; } // namespace Net diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp index 048945084..9530bd992 100644 --- a/src/net/eathena/adminhandler.cpp +++ b/src/net/eathena/adminhandler.cpp @@ -227,4 +227,12 @@ void AdminHandler::showStorageList(const std::string &name) const chatHandler->talk("#storagelist " + name, GENERAL_CHANNEL); } +void AdminHandler::showCartList(const std::string &name) const +{ + if (name.empty() || (localPlayer && name == localPlayer->getName())) + chatHandler->talk("@cartlist", GENERAL_CHANNEL); + else + chatHandler->talk("#cartlist " + name, GENERAL_CHANNEL); +} + } // namespace EAthena diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h index 8879eb31c..4d6c0f818 100644 --- a/src/net/eathena/adminhandler.h +++ b/src/net/eathena/adminhandler.h @@ -92,6 +92,8 @@ class AdminHandler final : public Ea::AdminHandler void showStorageList(const std::string &name) const override final; + void showCartList(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 b366c8ba1..55e2623e0 100644 --- a/src/net/tmwa/adminhandler.cpp +++ b/src/net/tmwa/adminhandler.cpp @@ -166,4 +166,8 @@ void AdminHandler::showStorageList(const std::string &name A_UNUSED) const { } +void AdminHandler::showCartList(const std::string &name A_UNUSED) const +{ +} + } // namespace TmwAthena diff --git a/src/net/tmwa/adminhandler.h b/src/net/tmwa/adminhandler.h index 31bba0724..1211f5578 100644 --- a/src/net/tmwa/adminhandler.h +++ b/src/net/tmwa/adminhandler.h @@ -96,6 +96,9 @@ class AdminHandler final : public Ea::AdminHandler void showStorageList(const std::string &name) const override final A_CONST; + + void showCartList(const std::string &name) const override final + A_CONST; }; } // namespace TmwAthena -- cgit v1.2.3-60-g2f50