summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-02-24 18:15:58 +0300
committerAndrei Karas <akaras@inbox.ru>2016-02-24 18:20:16 +0300
commit7e3a0e3668788cc9e63b0bc7f69ce793e2680ec4 (patch)
tree434a8768d65fdee815bb5a18734d417b8076c690
parent227788d991459081a894428d4455ead1dd8b46d6 (diff)
downloadmv-7e3a0e3668788cc9e63b0bc7f69ce793e2680ec4.tar.gz
mv-7e3a0e3668788cc9e63b0bc7f69ce793e2680ec4.tar.bz2
mv-7e3a0e3668788cc9e63b0bc7f69ce793e2680ec4.tar.xz
mv-7e3a0e3668788cc9e63b0bc7f69ce793e2680ec4.zip
Add chat command /showstorage. Also add show storage 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.cpp3
-rw-r--r--src/input/inputactionmap.h6
-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, 37 insertions, 0 deletions
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