summaryrefslogtreecommitdiff
path: root/src/net/eathena/skillhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena/skillhandler.cpp')
-rw-r--r--src/net/eathena/skillhandler.cpp24
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,