diff options
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/playerhandler.cpp | 12 | ||||
-rw-r--r-- | src/net/eathena/playerhandler.h | 2 |
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 |