From 9208926ca3f162102c08b8e5331f5a1c38681d4f Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 24 Feb 2016 00:35:23 +0300 Subject: Add gm chat command /whodrops --- src/actions/commands.cpp | 9 +++++++++ src/actions/commands.h | 1 + src/dyetool/actions/commands.cpp | 1 + src/enums/input/inputaction.h | 1 + src/input/inputactionmap.h | 6 ++++++ src/net/adminhandler.h | 2 ++ src/net/eathena/adminhandler.cpp | 5 +++++ src/net/eathena/adminhandler.h | 2 ++ src/net/tmwa/adminhandler.cpp | 4 ++++ src/net/tmwa/adminhandler.h | 2 ++ 10 files changed, 33 insertions(+) (limited to 'src') diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index 2e7252985..2eec5c392 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -1236,4 +1236,13 @@ impHandler(itemInfo) return true; } +impHandler(whoDrops) +{ + const std::string args = event.args; + if (args.empty()) + return false; + adminHandler->whoDrops(args); + return true; +} + } // namespace Actions diff --git a/src/actions/commands.h b/src/actions/commands.h index 7f37f1656..4378e2127 100644 --- a/src/actions/commands.h +++ b/src/actions/commands.h @@ -99,6 +99,7 @@ namespace Actions decHandler(ignorePickup); decHandler(monsterInfo); decHandler(itemInfo); + decHandler(whoDrops); } // namespace Actions #undef decHandler diff --git a/src/dyetool/actions/commands.cpp b/src/dyetool/actions/commands.cpp index 45458ab65..a515e8b05 100644 --- a/src/dyetool/actions/commands.cpp +++ b/src/dyetool/actions/commands.cpp @@ -99,5 +99,6 @@ impHandlerVoid(removePickup) impHandlerVoid(ignorePickup) impHandlerVoid(monsterInfo) impHandlerVoid(itemInfo) +impHandlerVoid(whoDrops) } // namespace Actions diff --git a/src/enums/input/inputaction.h b/src/enums/input/inputaction.h index 52344e683..7437ee44e 100644 --- a/src/enums/input/inputaction.h +++ b/src/enums/input/inputaction.h @@ -628,6 +628,7 @@ enumStart(InputAction) TARGET_SKILL_UNIT, MONSTER_INFO, ITEM_INFO, + WHO_DROPS, TOTAL } enumEnd(InputAction); diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index c59203900..d52701cec 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -5257,6 +5257,12 @@ static const InputActionData inputActionData "iteminfo|ii", UseArgs_true, Protected_true}, + {"keyWhoDrops", + defaultAction(&Actions::whoDrops), + InputCondition::INGAME, + "whodrops|whodrop", + UseArgs_true, + Protected_true}, }; #undef defaultAction diff --git a/src/net/adminhandler.h b/src/net/adminhandler.h index 949b36d4e..d6e1ba11e 100644 --- a/src/net/adminhandler.h +++ b/src/net/adminhandler.h @@ -100,6 +100,8 @@ class AdminHandler notfinal virtual void monsterInfo(const std::string &name) const = 0; virtual void itemInfo(const std::string &name) const = 0; + + virtual void whoDrops(const std::string &name) const = 0; }; } // namespace Net diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp index ed328b57b..3064a9ca2 100644 --- a/src/net/eathena/adminhandler.cpp +++ b/src/net/eathena/adminhandler.cpp @@ -172,4 +172,9 @@ void AdminHandler::itemInfo(const std::string &name) const chatHandler->talk("@iteminfo " + name, GENERAL_CHANNEL); } +void AdminHandler::whoDrops(const std::string &name) const +{ + chatHandler->talk("@whodrops " + name, GENERAL_CHANNEL); +} + } // namespace EAthena diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h index 51dca1b6f..e7a5a1473 100644 --- a/src/net/eathena/adminhandler.h +++ b/src/net/eathena/adminhandler.h @@ -75,6 +75,8 @@ class AdminHandler final : public Ea::AdminHandler void itemInfo(const std::string &name) const override final; + void whoDrops(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 ec3a8ffc3..0e1c8ef79 100644 --- a/src/net/tmwa/adminhandler.cpp +++ b/src/net/tmwa/adminhandler.cpp @@ -134,4 +134,8 @@ void AdminHandler::itemInfo(const std::string &name A_UNUSED) const { } +void AdminHandler::whoDrops(const std::string &name A_UNUSED) const +{ +} + } // namespace TmwAthena diff --git a/src/net/tmwa/adminhandler.h b/src/net/tmwa/adminhandler.h index ca02ae7cd..5c0e2558d 100644 --- a/src/net/tmwa/adminhandler.h +++ b/src/net/tmwa/adminhandler.h @@ -76,6 +76,8 @@ class AdminHandler final : public Ea::AdminHandler void monsterInfo(const std::string &name) const override final A_CONST; void itemInfo(const std::string &name) const override final A_CONST; + + void whoDrops(const std::string &name) const override final A_CONST; }; } // namespace TmwAthena -- cgit v1.2.3-70-g09d2