summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/protocol.h2
-rw-r--r--src/net/eathena/skillhandler.cpp12
-rw-r--r--src/net/eathena/skillhandler.h4
3 files changed, 17 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: