diff options
Diffstat (limited to 'src/net/eathena/skillhandler.cpp')
-rw-r--r-- | src/net/eathena/skillhandler.cpp | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/net/eathena/skillhandler.cpp b/src/net/eathena/skillhandler.cpp index 3a815e5af..3b2af3fd8 100644 --- a/src/net/eathena/skillhandler.cpp +++ b/src/net/eathena/skillhandler.cpp @@ -53,10 +53,26 @@ void SkillHandler::usePos(const int id, const int level, const int x, const int y) const { createOutPacket(CMSG_SKILL_USE_POSITION); - outMsg.writeInt16(CAST_S16(level), "skill level"); - outMsg.writeInt16(CAST_S16(id), "skill id"); - outMsg.writeInt16(CAST_S16(x), "x"); - outMsg.writeInt16(CAST_S16(y), "y"); + if (packetVersion >= 20080827 && packetVersion < 20101124) + { + outMsg.writeInt32(0, "unused"); + outMsg.writeInt32(0, "unused"); + outMsg.writeInt16(CAST_S16(level), "skill level"); + outMsg.writeInt16(0, "unused"); + outMsg.writeInt16(CAST_S16(id), "skill id"); + outMsg.writeInt16(0, "unused"); + outMsg.writeInt16(CAST_S16(x), "x"); + outMsg.writeInt16(0, "unused"); + outMsg.writeInt8(0, "unused"); + outMsg.writeInt16(CAST_S16(y), "y"); + } + else + { + outMsg.writeInt16(CAST_S16(level), "skill level"); + outMsg.writeInt16(CAST_S16(id), "skill id"); + outMsg.writeInt16(CAST_S16(x), "x"); + outMsg.writeInt16(CAST_S16(y), "y"); + } } void SkillHandler::usePos(const int id, const int level, |