From b753348ab7153282e6cf539c627dfd1fb9896c42 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 16 Nov 2015 18:40:43 +0300 Subject: Add slide function in adminhandler. --- src/net/adminhandler.h | 2 ++ src/net/ea/adminhandler.cpp | 16 ++++++++++++++++ src/net/ea/adminhandler.h | 2 ++ 3 files changed, 20 insertions(+) (limited to 'src') diff --git a/src/net/adminhandler.h b/src/net/adminhandler.h index 328290ea8..ea3acb695 100644 --- a/src/net/adminhandler.h +++ b/src/net/adminhandler.h @@ -70,6 +70,8 @@ class AdminHandler notfinal virtual void warp(const std::string &map, const int x, const int y) const = 0; + virtual void slide(const int x, const int y) const = 0; + virtual void createItems(const int id, const ItemColor color, const int amount) const = 0; diff --git a/src/net/ea/adminhandler.cpp b/src/net/ea/adminhandler.cpp index 6815164c4..bccd2062d 100644 --- a/src/net/ea/adminhandler.cpp +++ b/src/net/ea/adminhandler.cpp @@ -22,9 +22,12 @@ #include "net/ea/adminhandler.h" +#include "game.h" + #include "gui/chatconsts.h" #include "net/chathandler.h" +#include "net/serverfeatures.h" #include "utils/stringutils.h" @@ -76,4 +79,17 @@ void AdminHandler::createItems(const int id, GENERAL_CHANNEL); } +void AdminHandler::slide(const int x, const int y) const +{ + if (serverFeatures->haveSlide()) + { + chatHandler->talk(strprintf("@slide %d %d", x, y), + GENERAL_CHANNEL); + } + else + { + warp(Game::instance()->getCurrentMapName(), x, y); + } +} + } // namespace Ea diff --git a/src/net/ea/adminhandler.h b/src/net/ea/adminhandler.h index 9849f4e31..c73fbafde 100644 --- a/src/net/ea/adminhandler.h +++ b/src/net/ea/adminhandler.h @@ -55,6 +55,8 @@ class AdminHandler notfinal : public Net::AdminHandler void ipcheckName(const std::string &name) const override final; + void slide(const int x, const int y) const override final; + void createItems(const int id, const ItemColor color, const int amount) const override final; -- cgit v1.2.3-60-g2f50