diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-09-01 23:22:22 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-09-06 01:18:55 +0300 |
commit | d4fc48e1130b7bbfb0d09820ff53142cd4efb68c (patch) | |
tree | 5cb1c3af320add5469ef682d23e0cc3c5c613ce3 /src/net | |
parent | a65ebfceea7e708adef3dd62a01c25b52800e572 (diff) | |
download | mv-d4fc48e1130b7bbfb0d09820ff53142cd4efb68c.tar.gz mv-d4fc48e1130b7bbfb0d09820ff53142cd4efb68c.tar.bz2 mv-d4fc48e1130b7bbfb0d09820ff53142cd4efb68c.tar.xz mv-d4fc48e1130b7bbfb0d09820ff53142cd4efb68c.zip |
eathena: fix packet parsing SMSG_PLAYER_SKILLS 0x010f.
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/eathena/skillhandler.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/net/eathena/skillhandler.cpp b/src/net/eathena/skillhandler.cpp index 673bcd136..afb766ac8 100644 --- a/src/net/eathena/skillhandler.cpp +++ b/src/net/eathena/skillhandler.cpp @@ -106,14 +106,13 @@ void SkillHandler::processPlayerSkills(Net::MessageIn &msg) for (int k = 0; k < skillCount; k++) { - const int skillId = msg.readInt16(); - msg.readInt16(); // target type - msg.skip(2); // skill pool flags - const int level = msg.readInt16(); - msg.readInt16(); // sp - const int range = msg.readInt16(); - msg.skip(24); // 0 unused - const int up = msg.readUInt8(); + const int skillId = msg.readInt16("skill id"); + msg.readInt32("inf"); // what is it? + const int level = msg.readInt16("skill level"); + msg.readInt16("sp"); + const int range = msg.readInt16("range"); + msg.readString(24, "skill name"); + const int up = msg.readUInt8("up flag"); const int oldLevel = PlayerInfo::getSkillLevel(skillId); if (oldLevel && oldLevel != level) updateSkill = skillId; |