summaryrefslogtreecommitdiff
path: root/src/net/tmwa
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/tmwa')
-rw-r--r--src/net/tmwa/chathandler.cpp5
-rw-r--r--src/net/tmwa/serverfeatures.cpp5
-rw-r--r--src/net/tmwa/serverfeatures.h2
3 files changed, 11 insertions, 1 deletions
diff --git a/src/net/tmwa/chathandler.cpp b/src/net/tmwa/chathandler.cpp
index 0e2b0103b..c979536ae 100644
--- a/src/net/tmwa/chathandler.cpp
+++ b/src/net/tmwa/chathandler.cpp
@@ -30,6 +30,9 @@
#include "gui/windows/chatwindow.h"
+#include "net/net.h"
+#include "net/serverfeatures.h"
+
#include "net/tmwa/messageout.h"
#include "net/tmwa/protocol.h"
@@ -126,7 +129,7 @@ void ChatHandler::talk(const std::string &restrict text,
const std::string mes = std::string(localPlayer->getName()).append(
" : ").append(text);
- if (serverVersion >= 8 && channel.size() == 3)
+ if (Net::getServerFeatures()->haveChatChannels() && channel.size() == 3)
{
MessageOut outMsg(CMSG_CHAT_MESSAGE2);
// Added + 1 in order to let eAthena parse admin commands correctly
diff --git a/src/net/tmwa/serverfeatures.cpp b/src/net/tmwa/serverfeatures.cpp
index 23330a02a..57292e672 100644
--- a/src/net/tmwa/serverfeatures.cpp
+++ b/src/net/tmwa/serverfeatures.cpp
@@ -89,4 +89,9 @@ bool ServerFeatures::haveLookSelection() const
return serverVersion >= 9;
}
+bool ServerFeatures::haveChatChannels() const
+{
+ return serverVersion >= 8;
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/serverfeatures.h b/src/net/tmwa/serverfeatures.h
index 01db18cc5..230e20cf1 100644
--- a/src/net/tmwa/serverfeatures.h
+++ b/src/net/tmwa/serverfeatures.h
@@ -55,6 +55,8 @@ class ServerFeatures final : public Net::ServerFeatures
bool haveRaceSelection() const override final;
bool haveLookSelection() const override final;
+
+ bool haveChatChannels() const override final;
};
} // namespace TmwAthena