summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-17 21:06:09 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-17 21:06:09 +0300
commitdbca83014dbb36cd376ec2b7f9ba4be683b5829b (patch)
tree39030eaa8f198540de170797e654b0eb5d2723f0
parent1ca01c7099f1655510a7d8daf215c5d469bfcf33 (diff)
downloadmv-dbca83014dbb36cd376ec2b7f9ba4be683b5829b.tar.gz
mv-dbca83014dbb36cd376ec2b7f9ba4be683b5829b.tar.bz2
mv-dbca83014dbb36cd376ec2b7f9ba4be683b5829b.tar.xz
mv-dbca83014dbb36cd376ec2b7f9ba4be683b5829b.zip
eathena: add partial support for packet SMSG_PLAYER_SKILL_COOLDOWN 0x043d.
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
-rw-r--r--src/net/eathena/skillhandler.cpp12
-rw-r--r--src/net/eathena/skillhandler.h2
4 files changed, 16 insertions, 1 deletions
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