summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-09 18:26:33 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-09 18:26:33 +0300
commit83455b8803cfaaa537c8d15c64b5553c664885f5 (patch)
treed3bbf5bdfadd91f0cb8ceb50b41f4b18a530cc21
parent65a3fdc46d3728a3e8d5f40f7a89bbb86124919f (diff)
downloadplus-83455b8803cfaaa537c8d15c64b5553c664885f5.tar.gz
plus-83455b8803cfaaa537c8d15c64b5553c664885f5.tar.bz2
plus-83455b8803cfaaa537c8d15c64b5553c664885f5.tar.xz
plus-83455b8803cfaaa537c8d15c64b5553c664885f5.zip
Add packet CMSG_SKILL_USE_POSITION_MORE 0x096a.
-rw-r--r--src/net/eathena/protocol.h2
-rw-r--r--src/net/eathena/skillhandler.cpp12
-rw-r--r--src/net/eathena/skillhandler.h4
-rw-r--r--src/net/skillhandler.h4
-rw-r--r--src/net/tmwa/skillhandler.cpp12
-rw-r--r--src/net/tmwa/skillhandler.h4
6 files changed, 37 insertions, 1 deletions
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index a037ec75e..a147897cd 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -233,7 +233,7 @@
#define CMSG_SKILL_USE_BEING 0x083c
#define CMSG_SKILL_USE_POSITION 0x091e
// Variant of 0x116 with 80 char string at end (unsure of use)
-#define CMSG_SKILL_USE_POSITION_MORE 0x0366
+#define CMSG_SKILL_USE_POSITION_MORE 0x096a
#define CMSG_SKILL_USE_MAP 0x011b
#define CMSG_PLAYER_INVENTORY_USE 0x0439
diff --git a/src/net/eathena/skillhandler.cpp b/src/net/eathena/skillhandler.cpp
index ef0b7d399..162448660 100644
--- a/src/net/eathena/skillhandler.cpp
+++ b/src/net/eathena/skillhandler.cpp
@@ -91,6 +91,18 @@ void SkillHandler::usePos(const int id, const int level,
outMsg.writeInt16(static_cast<int16_t>(y));
}
+void SkillHandler::usePos(const int id, const int level,
+ const int x, const int y,
+ const std::string &text) const
+{
+ MessageOut outMsg(CMSG_SKILL_USE_POSITION_MORE);
+ outMsg.writeInt16(static_cast<int16_t>(level), "level");
+ outMsg.writeInt16(static_cast<int16_t>(id), "id");
+ outMsg.writeInt16(static_cast<int16_t>(x), "x");
+ outMsg.writeInt16(static_cast<int16_t>(y), "y");
+ outMsg.writeString(text, 80, "text");
+}
+
void SkillHandler::useMap(const int id, const std::string &map) const
{
MessageOut outMsg(CMSG_SKILL_USE_MAP);
diff --git a/src/net/eathena/skillhandler.h b/src/net/eathena/skillhandler.h
index c33971245..e387387b4 100644
--- a/src/net/eathena/skillhandler.h
+++ b/src/net/eathena/skillhandler.h
@@ -45,6 +45,10 @@ class SkillHandler final : public MessageHandler, public Ea::SkillHandler
void usePos(const int id, const int level,
const int x, const int y) const override final;
+ void usePos(const int id, const int level,
+ const int x, const int y,
+ const std::string &text) const override final;
+
void useMap(const int id, const std::string &map) const override final;
protected:
diff --git a/src/net/skillhandler.h b/src/net/skillhandler.h
index aec1a77e6..929629db4 100644
--- a/src/net/skillhandler.h
+++ b/src/net/skillhandler.h
@@ -41,6 +41,10 @@ class SkillHandler notfinal
virtual void usePos(const int id, const int level,
const int x, const int y) const = 0;
+ virtual void usePos(const int id, const int level,
+ const int x, const int y,
+ const std::string &text) const = 0;
+
virtual void useMap(const int id, const std::string &map) const = 0;
};
diff --git a/src/net/tmwa/skillhandler.cpp b/src/net/tmwa/skillhandler.cpp
index da6a04b7e..26902f18e 100644
--- a/src/net/tmwa/skillhandler.cpp
+++ b/src/net/tmwa/skillhandler.cpp
@@ -93,6 +93,18 @@ void SkillHandler::usePos(const int id, const int level,
outMsg.writeInt16(static_cast<int16_t>(y));
}
+void SkillHandler::usePos(const int id, const int level,
+ const int x, const int y,
+ const std::string &text) const
+{
+ MessageOut outMsg(CMSG_SKILL_USE_POSITION_MORE);
+ outMsg.writeInt16(static_cast<int16_t>(level), "level");
+ outMsg.writeInt16(static_cast<int16_t>(id), "id");
+ outMsg.writeInt16(static_cast<int16_t>(x), "x");
+ outMsg.writeInt16(static_cast<int16_t>(y), "y");
+ outMsg.writeString(text, 80, "text");
+}
+
void SkillHandler::useMap(const int id, const std::string &map) const
{
MessageOut outMsg(CMSG_SKILL_USE_MAP);
diff --git a/src/net/tmwa/skillhandler.h b/src/net/tmwa/skillhandler.h
index a0be82c63..a1029ae6b 100644
--- a/src/net/tmwa/skillhandler.h
+++ b/src/net/tmwa/skillhandler.h
@@ -45,6 +45,10 @@ class SkillHandler final : public MessageHandler, public Ea::SkillHandler
void usePos(const int id, const int level,
const int x, const int y) const override final;
+ void usePos(const int id, const int level,
+ const int x, const int y,
+ const std::string &text) const override final;
+
void useMap(const int id, const std::string &map) const override final;
protected: