diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-09-16 17:30:42 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-09-16 17:30:42 +0300 |
commit | 72cc15bc148acc2484a2be3b6e7da322735aca95 (patch) | |
tree | ebb4c781ab7e95a941a1cf2c3265754a1d088b84 /src/net | |
parent | 4d54d36ed8e4bcc34e5b9f90e2126fadb490c34f (diff) | |
download | manaplus-72cc15bc148acc2484a2be3b6e7da322735aca95.tar.gz manaplus-72cc15bc148acc2484a2be3b6e7da322735aca95.tar.bz2 manaplus-72cc15bc148acc2484a2be3b6e7da322735aca95.tar.xz manaplus-72cc15bc148acc2484a2be3b6e7da322735aca95.zip |
add server feature haveNativeGuilds.
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/eathena/serverfeatures.cpp | 5 | ||||
-rw-r--r-- | src/net/eathena/serverfeatures.h | 2 | ||||
-rw-r--r-- | src/net/serverfeatures.h | 2 | ||||
-rw-r--r-- | src/net/tmwa/guildhandler.cpp | 5 | ||||
-rw-r--r-- | src/net/tmwa/serverfeatures.cpp | 5 | ||||
-rw-r--r-- | src/net/tmwa/serverfeatures.h | 2 |
6 files changed, 20 insertions, 1 deletions
diff --git a/src/net/eathena/serverfeatures.cpp b/src/net/eathena/serverfeatures.cpp index f724d663a..1e055191b 100644 --- a/src/net/eathena/serverfeatures.cpp +++ b/src/net/eathena/serverfeatures.cpp @@ -67,4 +67,9 @@ bool ServerFeatures::haveBrokenPlayerAttackDistance() const return false; } +bool ServerFeatures::haveNativeGuilds() const +{ + return true; +} + } // namespace EAthena diff --git a/src/net/eathena/serverfeatures.h b/src/net/eathena/serverfeatures.h index fcd4cc97a..6ca4df652 100644 --- a/src/net/eathena/serverfeatures.h +++ b/src/net/eathena/serverfeatures.h @@ -47,6 +47,8 @@ class ServerFeatures final : public Net::ServerFeatures bool havePlayerStatusUpdate() const override final; bool haveBrokenPlayerAttackDistance() const override final; + + bool haveNativeGuilds() const override final; }; } // namespace EAthena diff --git a/src/net/serverfeatures.h b/src/net/serverfeatures.h index b3407d2b0..b90df0796 100644 --- a/src/net/serverfeatures.h +++ b/src/net/serverfeatures.h @@ -44,6 +44,8 @@ class ServerFeatures notfinal virtual bool havePlayerStatusUpdate() const = 0; virtual bool haveBrokenPlayerAttackDistance() const = 0; + + virtual bool haveNativeGuilds() const = 0; }; } // namespace Net diff --git a/src/net/tmwa/guildhandler.cpp b/src/net/tmwa/guildhandler.cpp index 852dfa135..8947c7c32 100644 --- a/src/net/tmwa/guildhandler.cpp +++ b/src/net/tmwa/guildhandler.cpp @@ -26,6 +26,9 @@ #include "being/localplayer.h" #include "being/playerinfo.h" +#include "net/net.h" +#include "net/serverfeatures.h" + #include "net/tmwa/messageout.h" #include "net/tmwa/protocol.h" @@ -83,7 +86,7 @@ GuildHandler::~GuildHandler() void GuildHandler::handleMessage(Net::MessageIn &msg) { BLOCK_START("GuildHandler::handleMessage") - if (tmwServerVersion > 0) + if (!Net::getServerFeatures()->haveNativeGuilds()) return; switch (msg.getId()) diff --git a/src/net/tmwa/serverfeatures.cpp b/src/net/tmwa/serverfeatures.cpp index 86f679ae9..498d19249 100644 --- a/src/net/tmwa/serverfeatures.cpp +++ b/src/net/tmwa/serverfeatures.cpp @@ -69,4 +69,9 @@ bool ServerFeatures::haveBrokenPlayerAttackDistance() const return serverVersion < 1; } +bool ServerFeatures::haveNativeGuilds() const +{ + return tmwServerVersion <= 0; +} + } // namespace TmwAthena diff --git a/src/net/tmwa/serverfeatures.h b/src/net/tmwa/serverfeatures.h index 8bf7288b3..3aba539dd 100644 --- a/src/net/tmwa/serverfeatures.h +++ b/src/net/tmwa/serverfeatures.h @@ -47,6 +47,8 @@ class ServerFeatures final : public Net::ServerFeatures bool havePlayerStatusUpdate() const override final; bool haveBrokenPlayerAttackDistance() const override final; + + bool haveNativeGuilds() const override final; }; } // namespace TmwAthena |