From 1c709b950363389755017e52f97ed3299be3b514 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 14 Sep 2014 19:17:41 +0300 Subject: eathena: add partial support for packet SMSG_SKILL_ENTRY 0x09ca. --- src/net/eathena/beinghandler.cpp | 18 ++++++++++++++++++ src/net/eathena/beinghandler.h | 2 ++ src/net/eathena/packets.h | 2 +- src/net/eathena/protocol.h | 1 + 4 files changed, 22 insertions(+), 1 deletion(-) (limited to 'src/net/eathena') diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp index 27be4fc9c..a52e53bf9 100644 --- a/src/net/eathena/beinghandler.cpp +++ b/src/net/eathena/beinghandler.cpp @@ -92,6 +92,7 @@ BeingHandler::BeingHandler(const bool enableSync) : SMSG_SKILL_CAST_CANCEL, SMSG_SKILL_NO_DAMAGE, SMSG_SKILL_GROUND_NO_DAMAGE, + SMSG_SKILL_ENTRY, SMSG_BEING_IP_RESPONSE, SMSG_PVP_MAP_MODE, SMSG_PVP_SET, @@ -244,6 +245,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg) processSkillGroundNoDamage(msg); break; + case SMSG_SKILL_ENTRY: + processSkillEntry(msg); + break; + case SMSG_PVP_MAP_MODE: processPvpMapMode(msg); break; @@ -1679,4 +1684,17 @@ void BeingHandler::processSkillGroundNoDamage(Net::MessageIn &msg) const msg.readInt32("tick"); } +void BeingHandler::processSkillEntry(Net::MessageIn &msg) const +{ + msg.readInt16("len"); + msg.readInt32("accound id"); + msg.readInt32("creator accound id"); + msg.readInt16("x"); + msg.readInt16("y"); + msg.readInt32("job"); + msg.readUInt8("radius"); + msg.readUInt8("visible"); + msg.readUInt8("level"); +} + } // namespace EAthena diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h index 605cc1e3f..9867cb27b 100644 --- a/src/net/eathena/beinghandler.h +++ b/src/net/eathena/beinghandler.h @@ -97,6 +97,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler protected: void processSkillGroundNoDamage(Net::MessageIn &msg) const; + + void processSkillEntry(Net::MessageIn &msg) const; }; } // namespace EAthena diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index 97abed3b1..73d5929ef 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -252,7 +252,7 @@ int16_t packet_lengths[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // #0x09C0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 24c90c1be..2e3f627f6 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -367,6 +367,7 @@ #define SMSG_SKILL_CAST_CANCEL 0x01b9 #define SMSG_SKILL_NO_DAMAGE 0x011a #define SMSG_SKILL_GROUND_NO_DAMAGE 0x0117 +#define SMSG_SKILL_ENTRY 0x09ca #define SMSG_BEING_IP_RESPONSE 0x020c #define SMSG_PVP_MAP_MODE 0x0199 -- cgit v1.2.3-70-g09d2