summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/eathena/beinghandler.cpp17
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 20 insertions, 0 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 31cc4fc6a..267ed3f7b 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -96,6 +96,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
SMSG_MAP_TYPE_PROPERTY2,
SMSG_MONSTER_HP,
SMSG_PLAYER_HP,
+ SMSG_SKILL_AUTO_CAST,
0
};
handledMessages = _messages;
@@ -134,6 +135,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
processSkillDamage(msg);
break;
+ case SMSG_SKILL_AUTO_CAST:
+ processSkillAutoCast(msg);
+ break;
+
case SMSG_BEING_ACTION:
processBeingAction(msg);
break;
@@ -1070,4 +1075,16 @@ void BeingHandler::processMonsterHp(Net::MessageIn &msg) const
}
}
+void BeingHandler::processSkillAutoCast(Net::MessageIn &msg) const
+{
+ msg.readInt16("skill id");
+ msg.readInt16("inf");
+ msg.readInt16("unused");
+ msg.readInt16("skill level");
+ msg.readInt16("sp");
+ msg.readInt16("range");
+ msg.readString(24, "skill name");
+ msg.readInt8("unused");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index 2d4afd0d9..ce0fe8636 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -63,6 +63,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
void processBeingAction2(Net::MessageIn &msg) const;
void processMonsterHp(Net::MessageIn &msg) const;
+
+ void processSkillAutoCast(Net::MessageIn &msg) const;
};
} // namespace EAthena
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 8def51255..c5b1277c5 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -83,6 +83,7 @@
#define SMSG_PLAYER_SKILL_UP 0x010e
#define SMSG_SKILL_FAILED 0x0110
#define SMSG_SKILL_DAMAGE 0x01de
+#define SMSG_SKILL_AUTO_CAST 0x0147
#define SMSG_ITEM_USE_RESPONSE 0x00a8
#define SMSG_ITEM_VISIBLE 0x009d /**< An item is on the floor */
#define SMSG_ITEM_DROPPED 0x084b /**< An item is dropped */