diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-09-08 23:54:29 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-09-08 23:54:29 +0300 |
commit | df01c98c8a7c0b45de0b67cf484994e5886fef4d (patch) | |
tree | 98506d900dcb71a82879cd7de120953641b64f18 | |
parent | 08b9e2ba4a42a87e58465565e373bb01f1a95cdd (diff) | |
download | mv-df01c98c8a7c0b45de0b67cf484994e5886fef4d.tar.gz mv-df01c98c8a7c0b45de0b67cf484994e5886fef4d.tar.bz2 mv-df01c98c8a7c0b45de0b67cf484994e5886fef4d.tar.xz mv-df01c98c8a7c0b45de0b67cf484994e5886fef4d.zip |
eathena: add partial support for packet SMSG_RANKS_LIST 0x097d.
-rw-r--r-- | src/net/eathena/beinghandler.cpp | 17 | ||||
-rw-r--r-- | src/net/eathena/beinghandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/packets.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
4 files changed, 21 insertions, 1 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp index 7a45bb346..958cd1391 100644 --- a/src/net/eathena/beinghandler.cpp +++ b/src/net/eathena/beinghandler.cpp @@ -97,6 +97,7 @@ BeingHandler::BeingHandler(const bool enableSync) : SMSG_MONSTER_HP, SMSG_PLAYER_HP, SMSG_SKILL_AUTO_CAST, + SMSG_RANKS_LIST, 0 }; handledMessages = _messages; @@ -235,6 +236,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg) processMonsterHp(msg); break; + case SMSG_RANKS_LIST: + processRanksList(msg); + break; + default: break; } @@ -1093,4 +1098,16 @@ void BeingHandler::processSkillAutoCast(Net::MessageIn &msg) const msg.readInt8("unused"); } +void BeingHandler::processRanksList(Net::MessageIn &msg) const +{ + // +++ here need window with rank tables. + msg.readInt16("rank type"); + for (int f = 0; f < 10; f ++) + { + msg.readString(24, "name"); + msg.readInt32("points"); + } + msg.readInt32("my points"); +} + } // namespace EAthena diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h index e17ea3306..344a672b1 100644 --- a/src/net/eathena/beinghandler.h +++ b/src/net/eathena/beinghandler.h @@ -67,6 +67,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler void processMonsterHp(Net::MessageIn &msg) const; void processSkillAutoCast(Net::MessageIn &msg) const; + + void processRanksList(Net::MessageIn &msg) const; }; } // namespace EAthena diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index a4fdf0416..6605600b7 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -245,7 +245,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, - 31, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 288, 0, 0, // #0x0980 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, -1, -1, 0, 0, -1, -1, 0, 0, 11, 9, 8, 0, 0, 0, 0, diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index ca29b44b3..db7ed985e 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -197,6 +197,7 @@ #define SMSG_QUEST_REMOVE 0x02b4 #define SMSG_MVP 0x010c +#define SMSG_RANKS_LIST 0x097d #define SMSG_MONSTER_HP 0x0977 #define SMSG_PLAYER_HP 0x080e |