summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/eathena/beinghandler.cpp18
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 22 insertions, 1 deletions
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