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 | 4 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp index 35759bfd6..d6ae04585 100644 --- a/src/net/eathena/playerhandler.cpp +++ b/src/net/eathena/playerhandler.cpp @@ -234,6 +234,18 @@ void PlayerHandler::updateStatus(const uint8_t status) const outMsg.writeInt8(0); } +void PlayerHandler::setShortcut(const int idx, + const uint8_t type, + const int id, + const int level) const +{ + MessageOut outMsg(CMSG_SET_SHORTCUTS); + outMsg.writeInt16(idx, "index"); + outMsg.writeInt8(type, "type"); + outMsg.writeInt32(id, "id"); + outMsg.writeInt16(level, "level"); +} + void PlayerHandler::processPlayerShortcuts(Net::MessageIn &msg) { for (int f = 0; f < 27; f ++) diff --git a/src/net/eathena/playerhandler.h b/src/net/eathena/playerhandler.h index cc6804164..38a6b3d25 100644 --- a/src/net/eathena/playerhandler.h +++ b/src/net/eathena/playerhandler.h @@ -59,6 +59,10 @@ class PlayerHandler final : public MessageHandler, public Ea::PlayerHandler void requestOnlineList() const override final; void respawn() const override final; + void setShortcut(const int idx, + const uint8_t type, + const int id, + const int level) const override final; protected: void processPlayerStatUpdate5(Net::MessageIn &msg); diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index db7ed985e..27e6d250d 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -306,6 +306,7 @@ #define CMSG_SOLVE_CHAR_NAME 0x0368 #define CMSG_IGNORE_ALL 0x00d0 #define CMSG_REQUEST_RANKS 0x097c +#define CMSG_SET_SHORTCUTS 0x02ba #define SMSG_SOLVE_CHAR_NAME 0x0194 #define SMSG_SKILL_CASTING 0x07fb |