diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-02-25 00:53:34 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-02-25 00:53:34 +0300 |
commit | 14800b09f0cc47ab4452039c45ba99295a40e2d8 (patch) | |
tree | 1e5ff4911580cd509d9f21bf8f8ff942302e3a81 /src/net | |
parent | d0967473d6f1e356592e8adbe46fcbbe04c60393 (diff) | |
download | mv-14800b09f0cc47ab4452039c45ba99295a40e2d8.tar.gz mv-14800b09f0cc47ab4452039c45ba99295a40e2d8.tar.bz2 mv-14800b09f0cc47ab4452039c45ba99295a40e2d8.tar.xz mv-14800b09f0cc47ab4452039c45ba99295a40e2d8.zip |
Add chat command /saveposition. Also add it to player context menu.
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/adminhandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/adminhandler.cpp | 8 | ||||
-rw-r--r-- | src/net/eathena/adminhandler.h | 2 | ||||
-rw-r--r-- | src/net/tmwa/adminhandler.cpp | 4 | ||||
-rw-r--r-- | src/net/tmwa/adminhandler.h | 3 |
5 files changed, 19 insertions, 0 deletions
diff --git a/src/net/adminhandler.h b/src/net/adminhandler.h index 63a30dc07..963356a81 100644 --- a/src/net/adminhandler.h +++ b/src/net/adminhandler.h @@ -134,6 +134,8 @@ class AdminHandler notfinal virtual void spawnSlaveClone(const std::string &name) const = 0; virtual void spawnEvilClone(const std::string &name) const = 0; + + virtual void savePosition(const std::string &name) const = 0; }; } // namespace Net diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp index 16a4e999d..4c7b776f9 100644 --- a/src/net/eathena/adminhandler.cpp +++ b/src/net/eathena/adminhandler.cpp @@ -273,4 +273,12 @@ void AdminHandler::spawnEvilClone(const std::string &name) const chatHandler->talk("@evilclone " + name, GENERAL_CHANNEL); } +void AdminHandler::savePosition(const std::string &name) const +{ + if (name.empty() || (localPlayer && name == localPlayer->getName())) + chatHandler->talk("@save", GENERAL_CHANNEL); + else + chatHandler->talk("#save " + name, GENERAL_CHANNEL); +} + } // namespace EAthena diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h index 1808231b5..d0212a027 100644 --- a/src/net/eathena/adminhandler.h +++ b/src/net/eathena/adminhandler.h @@ -108,6 +108,8 @@ class AdminHandler final : public Ea::AdminHandler void spawnEvilClone(const std::string &name) const override final; + void savePosition(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 a0c6e5457..f9180a7d8 100644 --- a/src/net/tmwa/adminhandler.cpp +++ b/src/net/tmwa/adminhandler.cpp @@ -198,4 +198,8 @@ void AdminHandler::spawnEvilClone(const std::string &name A_UNUSED) const { } +void AdminHandler::savePosition(const std::string &name A_UNUSED) const +{ +} + } // namespace TmwAthena diff --git a/src/net/tmwa/adminhandler.h b/src/net/tmwa/adminhandler.h index 94025716a..0aaa64f17 100644 --- a/src/net/tmwa/adminhandler.h +++ b/src/net/tmwa/adminhandler.h @@ -118,6 +118,9 @@ class AdminHandler final : public Ea::AdminHandler void spawnEvilClone(const std::string &name) const override final A_CONST; + + void savePosition(const std::string &name) const override final + A_CONST; }; } // namespace TmwAthena |