summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-08 23:54:29 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-08 23:54:29 +0300
commitdf01c98c8a7c0b45de0b67cf484994e5886fef4d (patch)
tree98506d900dcb71a82879cd7de120953641b64f18
parent08b9e2ba4a42a87e58465565e373bb01f1a95cdd (diff)
downloadmv-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.cpp17
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
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