summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-14 18:52:38 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-14 18:52:38 +0300
commit5b2aee2396829e899d4493bc40de88a93a7d42cb (patch)
treee80f445d79d096b2d59c124c5622f262c73f747d
parent0d4ee623cb1dbc4a44951f8d3e71eeba1ae0d816 (diff)
downloadmanaplus-5b2aee2396829e899d4493bc40de88a93a7d42cb.tar.gz
manaplus-5b2aee2396829e899d4493bc40de88a93a7d42cb.tar.bz2
manaplus-5b2aee2396829e899d4493bc40de88a93a7d42cb.tar.xz
manaplus-5b2aee2396829e899d4493bc40de88a93a7d42cb.zip
eathena: add partial support for packet SMSG_SKILL_GROUND_NO_DAMAGE 0x0117.
-rw-r--r--src/net/eathena/beinghandler.cpp15
-rw-r--r--src/net/eathena/beinghandler.h3
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 19 insertions, 0 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 21d527454..27be4fc9c 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -91,6 +91,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
SMSG_SKILL_CASTING,
SMSG_SKILL_CAST_CANCEL,
SMSG_SKILL_NO_DAMAGE,
+ SMSG_SKILL_GROUND_NO_DAMAGE,
SMSG_BEING_IP_RESPONSE,
SMSG_PVP_MAP_MODE,
SMSG_PVP_SET,
@@ -239,6 +240,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
processSkillNoDamage(msg);
break;
+ case SMSG_SKILL_GROUND_NO_DAMAGE:
+ processSkillGroundNoDamage(msg);
+ break;
+
case SMSG_PVP_MAP_MODE:
processPvpMapMode(msg);
break;
@@ -1664,4 +1669,14 @@ void BeingHandler::applyPlayerAction(Being *const being, const uint8_t type)
}
}
+void BeingHandler::processSkillGroundNoDamage(Net::MessageIn &msg) const
+{
+ msg.readInt16("skill id");
+ msg.readInt32("src id");
+ msg.readInt16("val");
+ msg.readInt16("x");
+ msg.readInt16("y");
+ msg.readInt32("tick");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index a7f01a026..605cc1e3f 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -94,6 +94,9 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
static void applyPlayerAction(Being *const being,
const uint8_t type);
+
+ protected:
+ void processSkillGroundNoDamage(Net::MessageIn &msg) const;
};
} // namespace EAthena
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 129af247c..24c90c1be 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -366,6 +366,7 @@
#define SMSG_SKILL_CASTING 0x07fb
#define SMSG_SKILL_CAST_CANCEL 0x01b9
#define SMSG_SKILL_NO_DAMAGE 0x011a
+#define SMSG_SKILL_GROUND_NO_DAMAGE 0x0117
#define SMSG_BEING_IP_RESPONSE 0x020c
#define SMSG_PVP_MAP_MODE 0x0199