From d4fc48e1130b7bbfb0d09820ff53142cd4efb68c Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 1 Sep 2014 23:22:22 +0300 Subject: eathena: fix packet parsing SMSG_PLAYER_SKILLS 0x010f. --- src/net/eathena/skillhandler.cpp | 15 +++++++-------- 1 file 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; -- cgit v1.2.3-70-g09d2