summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-02-24 18:28:40 +0300
committerAndrei Karas <akaras@inbox.ru>2016-02-24 18:28:40 +0300
commitbb604b783f5909d068ced29e17a698a37115ebb6 (patch)
tree9ffb791e7ede21177f5377ac18227f7596f7ccee
parent7e3a0e3668788cc9e63b0bc7f69ce793e2680ec4 (diff)
downloadmanaplus-bb604b783f5909d068ced29e17a698a37115ebb6.tar.gz
manaplus-bb604b783f5909d068ced29e17a698a37115ebb6.tar.bz2
manaplus-bb604b783f5909d068ced29e17a698a37115ebb6.tar.xz
manaplus-bb604b783f5909d068ced29e17a698a37115ebb6.zip
Add chat command /showcart. Also add show cart to player context menu.
-rw-r--r--src/actions/commands.cpp6
-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.cpp5
-rw-r--r--src/input/inputactionmap.h8
-rw-r--r--src/net/adminhandler.h2
-rw-r--r--src/net/eathena/adminhandler.cpp8
-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, 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