diff options
-rw-r--r-- | src/net/eathena/beinghandler.cpp | 17 | ||||
-rw-r--r-- | src/net/eathena/beinghandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
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 */ |