summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/npchandler.cpp6
-rw-r--r--src/net/eathena/npchandler.h2
-rw-r--r--src/net/eathena/protocol.h2
3 files changed, 10 insertions, 0 deletions
diff --git a/src/net/eathena/npchandler.cpp b/src/net/eathena/npchandler.cpp
index 33fbbea43..8d8cff626 100644
--- a/src/net/eathena/npchandler.cpp
+++ b/src/net/eathena/npchandler.cpp
@@ -235,6 +235,12 @@ void NpcHandler::identify(const int index) const
outMsg.writeInt16(index, "index");
}
+void NpcHandler::selectArrow(const int nameId) const
+{
+ MessageOut outMsg(CMSG_NPC_SELECT_ARROW);
+ outMsg.writeInt16(nameId, "name id");
+}
+
int NpcHandler::getNpc(Net::MessageIn &msg)
{
if (msg.getId() == SMSG_NPC_CHOICE
diff --git a/src/net/eathena/npchandler.h b/src/net/eathena/npchandler.h
index 5bf7ae0c0..323b12d48 100644
--- a/src/net/eathena/npchandler.h
+++ b/src/net/eathena/npchandler.h
@@ -83,6 +83,8 @@ class NpcHandler final : public MessageHandler, public Ea::NpcHandler
void identify(const int index) const override final;
+ void selectArrow(const int nameId) const override final;
+
protected:
static void processNpcCutin(Net::MessageIn &msg);
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 3aa0471af..906526e14 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -319,6 +319,8 @@
#define CMSG_NPC_REPAIR 0x01fd
#define CMSG_NPC_REFINE 0x0222
#define CMSG_NPC_IDENTIFY 0x0178
+#define CMSG_NPC_SELECT_ARROW 0x01ae
+
#define CMSG_PLAYER_MAPMOVE 0x0140
#define CMSG_REMOVE_OPTION 0x012a
#define CMSG_PLAYER_SET_MEMO 0x011d