summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/generalhandler.cpp4
-rw-r--r--src/net/eathena/generalhandler.h3
-rw-r--r--src/net/eathena/serverfeatures.cpp7
-rw-r--r--src/net/eathena/serverfeatures.h4
4 files changed, 17 insertions, 1 deletions
diff --git a/src/net/eathena/generalhandler.cpp b/src/net/eathena/generalhandler.cpp
index 5a18b15f9..0a838c248 100644
--- a/src/net/eathena/generalhandler.cpp
+++ b/src/net/eathena/generalhandler.cpp
@@ -54,6 +54,7 @@
#include "net/eathena/partyhandler.h"
#include "net/eathena/playerhandler.h"
#include "net/eathena/protocol.h"
+#include "net/eathena/serverfeatures.h"
#include "net/eathena/tradehandler.h"
#include "net/eathena/skillhandler.h"
#include "net/eathena/questhandler.h"
@@ -90,7 +91,8 @@ GeneralHandler::GeneralHandler() :
mPlayerHandler(new PlayerHandler),
mSkillHandler(new SkillHandler),
mTradeHandler(new TradeHandler),
- mQuestHandler(new QuestHandler)
+ mQuestHandler(new QuestHandler),
+ mServerFeatures(new ServerFeatures)
{
static const uint16_t _messages[] =
{
diff --git a/src/net/eathena/generalhandler.h b/src/net/eathena/generalhandler.h
index c509ef6da..edce8330e 100644
--- a/src/net/eathena/generalhandler.h
+++ b/src/net/eathena/generalhandler.h
@@ -30,6 +30,8 @@
namespace EAthena
{
+class ServerFeatures;
+
class GeneralHandler final : public MessageHandler,
public Net::GeneralHandler
{
@@ -75,6 +77,7 @@ class GeneralHandler final : public MessageHandler,
MessageHandlerPtr mSkillHandler;
MessageHandlerPtr mTradeHandler;
MessageHandlerPtr mQuestHandler;
+ ServerFeatures *mServerFeatures;
};
} // namespace EAthena
diff --git a/src/net/eathena/serverfeatures.cpp b/src/net/eathena/serverfeatures.cpp
index 3b11842e6..cb0b730e4 100644
--- a/src/net/eathena/serverfeatures.cpp
+++ b/src/net/eathena/serverfeatures.cpp
@@ -22,9 +22,16 @@
#include "debug.h"
+extern Net::ServerFeatures *serverFeatures;
+
namespace EAthena
{
+ServerFeatures::ServerFeatures()
+{
+ serverFeatures = this;
+}
+
bool ServerFeatures::haveOnlineList() const
{
return false;
diff --git a/src/net/eathena/serverfeatures.h b/src/net/eathena/serverfeatures.h
index 79febd773..c15bbb705 100644
--- a/src/net/eathena/serverfeatures.h
+++ b/src/net/eathena/serverfeatures.h
@@ -30,6 +30,10 @@ namespace EAthena
class ServerFeatures final : public Net::ServerFeatures
{
public:
+ ServerFeatures();
+
+ A_DELETE_COPY(ServerFeatures)
+
bool haveOnlineList() const override final;
};