summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-11 14:52:25 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-11 14:52:25 +0300
commit70aa8d620ec337d629e096f2f7c8cdaa2104fb53 (patch)
tree3b158179840621340d5e0192891b15edd6ef1609
parentff383a3f0658aeb016a5c5bcde01fc7edd2f8c33 (diff)
downloadplus-70aa8d620ec337d629e096f2f7c8cdaa2104fb53.tar.gz
plus-70aa8d620ec337d629e096f2f7c8cdaa2104fb53.tar.bz2
plus-70aa8d620ec337d629e096f2f7c8cdaa2104fb53.tar.xz
plus-70aa8d620ec337d629e096f2f7c8cdaa2104fb53.zip
eathena: add partial support for packet SMSG_SKILL_ARROW_CREATE_LIST 0x01ad.
-rw-r--r--src/net/eathena/protocol.h1
-rw-r--r--src/net/eathena/skillhandler.cpp14
-rw-r--r--src/net/eathena/skillhandler.h2
3 files changed, 17 insertions, 0 deletions
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 66417f6df..794adc372 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -108,6 +108,7 @@
#define SMSG_SKILL_WARP_POINT 0x011c
#define SMSG_SKILL_MEMO_MESSAGE 0x011e
#define SMSG_SKILL_UNIT_UPDATE 0x01ac
+#define SMSG_SKILL_ARROW_CREATE_LIST 0x01ad
#define SMSG_ITEM_USE_RESPONSE 0x00a8
#define SMSG_ITEM_VISIBLE 0x009d /**< An item is on the floor */
#define SMSG_GRAFFITI_VISIBLE 0x01c9
diff --git a/src/net/eathena/skillhandler.cpp b/src/net/eathena/skillhandler.cpp
index 1316c4dda..d92fd697d 100644
--- a/src/net/eathena/skillhandler.cpp
+++ b/src/net/eathena/skillhandler.cpp
@@ -66,6 +66,7 @@ SkillHandler::SkillHandler() :
SMSG_PLAYER_SKILL_PRODUCE_MIX_LIST,
SMSG_PLAYER_SKILL_PRODUCE_EFFECT,
SMSG_SKILL_UNIT_UPDATE,
+ SMSG_SKILL_ARROW_CREATE_LIST,
0
};
handledMessages = _messages;
@@ -132,6 +133,10 @@ void SkillHandler::handleMessage(Net::MessageIn &msg)
processSkillUnitUpdate(msg);
break;
+ case SMSG_SKILL_ARROW_CREATE_LIST:
+ processSkillArrowCreateList(msg);
+ break;
+
default:
break;
}
@@ -441,4 +446,13 @@ void SkillHandler::processSkillUnitUpdate(Net::MessageIn &msg)
msg.readInt32("being id");
}
+void SkillHandler::processSkillArrowCreateList(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+
+ const int count = (msg.readInt16("len") - 4) / 2;
+ for (int f = 0; f < count; f ++)
+ msg.readInt16("item id");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/skillhandler.h b/src/net/eathena/skillhandler.h
index 25fb1a805..42fd65021 100644
--- a/src/net/eathena/skillhandler.h
+++ b/src/net/eathena/skillhandler.h
@@ -77,6 +77,8 @@ class SkillHandler final : public MessageHandler, public Ea::SkillHandler
static void processSkillProduceEffect(Net::MessageIn &msg);
static void processSkillUnitUpdate(Net::MessageIn &msg);
+
+ static void processSkillArrowCreateList(Net::MessageIn &msg);
};
} // namespace EAthena