summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/playerhandler.cpp12
-rw-r--r--src/net/eathena/playerhandler.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp
index d1c48bfbd..486d3dd30 100644
--- a/src/net/eathena/playerhandler.cpp
+++ b/src/net/eathena/playerhandler.cpp
@@ -23,6 +23,7 @@
#include "net/eathena/playerhandler.h"
#include "configuration.h"
+#include "game.h"
#include "being/beingflag.h"
#include "being/localplayer.h"
@@ -41,6 +42,8 @@
#include "utils/stringutils.h"
+#include "resources/map/map.h"
+
#include "debug.h"
extern Net::PlayerHandler *playerHandler;
@@ -729,4 +732,13 @@ void PlayerHandler::processOnlineList(Net::MessageIn &msg)
BLOCK_END("PlayerHandler::processOnlineList")
}
+void PlayerHandler::processMapMask(Net::MessageIn &msg)
+{
+ const int mask = msg.readInt32("mask");
+ msg.readInt32("unused");
+ Map *const map = Game::instance()->getCurrentMap();
+ if (map)
+ map->setMask(mask);
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/playerhandler.h b/src/net/eathena/playerhandler.h
index 32ab731e3..d32d06ab9 100644
--- a/src/net/eathena/playerhandler.h
+++ b/src/net/eathena/playerhandler.h
@@ -114,6 +114,8 @@ class PlayerHandler final : public MessageHandler, public Ea::PlayerHandler
static void processPlayerClientCommand(Net::MessageIn &msg);
static void processOnlineList(Net::MessageIn &msg);
+
+ static void processMapMask(Net::MessageIn &msg);
};
} // namespace EAthena