From dbca83014dbb36cd376ec2b7f9ba4be683b5829b Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 17 Sep 2014 21:06:09 +0300 Subject: eathena: add partial support for packet SMSG_PLAYER_SKILL_COOLDOWN 0x043d. --- src/net/eathena/packets.h | 2 +- src/net/eathena/protocol.h | 1 + src/net/eathena/skillhandler.cpp | 12 ++++++++++++ src/net/eathena/skillhandler.h | 2 ++ 4 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src/net/eathena') diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index 3e520a979..f947a91d3 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -130,7 +130,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, 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, 25, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 25, // #0x0440 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 a7e3b5487..4b860b2ce 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -80,6 +80,7 @@ #define SMSG_PLAYER_SKILLS 0x010f #define SMSG_PLAYER_SKILL_UP 0x010e #define SMSG_PLAYER_HEAL 0x013d +#define SMSG_PLAYER_SKILL_COOLDOWN 0x043d #define SMSG_SKILL_FAILED 0x0110 #define SMSG_SKILL_DAMAGE 0x01de #define SMSG_SKILL_AUTO_CAST 0x0147 diff --git a/src/net/eathena/skillhandler.cpp b/src/net/eathena/skillhandler.cpp index 162448660..da8b94d11 100644 --- a/src/net/eathena/skillhandler.cpp +++ b/src/net/eathena/skillhandler.cpp @@ -45,6 +45,7 @@ SkillHandler::SkillHandler() : SMSG_PLAYER_SKILLS, SMSG_SKILL_FAILED, SMSG_PLAYER_SKILL_UP, + SMSG_PLAYER_SKILL_COOLDOWN, 0 }; handledMessages = _messages; @@ -67,6 +68,10 @@ void SkillHandler::handleMessage(Net::MessageIn &msg) processSkillFailed(msg); break; + case SMSG_PLAYER_SKILL_COOLDOWN: + processSkillCoolDown(msg); + break; + default: break; } @@ -142,4 +147,11 @@ void SkillHandler::processPlayerSkills(Net::MessageIn &msg) skillDialog->playUpdateEffect(updateSkill); } +void SkillHandler::processSkillCoolDown(Net::MessageIn &msg) +{ + // +++ need add cool down bar in skills window and in ministatus? + msg.readInt16("skill id"); + msg.readInt32("duration"); +} + } // namespace EAthena diff --git a/src/net/eathena/skillhandler.h b/src/net/eathena/skillhandler.h index e387387b4..8ea91eb0c 100644 --- a/src/net/eathena/skillhandler.h +++ b/src/net/eathena/skillhandler.h @@ -53,6 +53,8 @@ class SkillHandler final : public MessageHandler, public Ea::SkillHandler protected: void processPlayerSkills(Net::MessageIn &msg); + + void processSkillCoolDown(Net::MessageIn &msg); }; } // namespace EAthena -- cgit v1.2.3-60-g2f50