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.h4
-rw-r--r--src/net/eathena/protocol.h1
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