From 5b2aee2396829e899d4493bc40de88a93a7d42cb Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 14 Sep 2014 18:52:38 +0300 Subject: eathena: add partial support for packet SMSG_SKILL_GROUND_NO_DAMAGE 0x0117. --- src/net/eathena/beinghandler.cpp | 15 +++++++++++++++ src/net/eathena/beinghandler.h | 3 +++ src/net/eathena/protocol.h | 1 + 3 files changed, 19 insertions(+) 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 -- cgit v1.2.3-70-g09d2