summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-12 12:55:47 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-12 12:55:47 +0300
commitc98f3b83900b8cd3cb3cdfb30215541e6f08d140 (patch)
tree80dc2a8f6ebd9afc7e93e153a85f27d922c80012
parent1c60e420b61705e82b301caacb9760ef4d1090dc (diff)
downloadmanaplus-c98f3b83900b8cd3cb3cdfb30215541e6f08d140.tar.gz
manaplus-c98f3b83900b8cd3cb3cdfb30215541e6f08d140.tar.bz2
manaplus-c98f3b83900b8cd3cb3cdfb30215541e6f08d140.tar.xz
manaplus-c98f3b83900b8cd3cb3cdfb30215541e6f08d140.zip
eathena: add partial support for packet SMSG_ALCHEMIST_RANKS_LIST 0x021a.
-rw-r--r--src/net/eathena/beinghandler.cpp15
-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, 19 insertions, 1 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 9b035b136..74d0d6128 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -127,6 +127,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
SMSG_BEING_SLIDE,
SMSG_STARS_KILL,
SMSG_BLACKSMITH_RANKS_LIST,
+ SMSG_ALCHEMIST_RANKS_LIST,
0
};
handledMessages = _messages;
@@ -363,6 +364,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
processBlacksmithRanksList(msg);
break;
+ case SMSG_ALCHEMIST_RANKS_LIST:
+ processAlchemistRanksList(msg);
+ break;
+
default:
break;
}
@@ -1340,6 +1345,16 @@ void BeingHandler::processBlacksmithRanksList(Net::MessageIn &msg)
msg.readInt32("points");
}
+void BeingHandler::processAlchemistRanksList(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+ // +++ here need window with rank tables.
+ for (int f = 0; f < 10; f ++)
+ msg.readString(24, "name");
+ for (int f = 0; f < 10; f ++)
+ msg.readInt32("points");
+}
+
void BeingHandler::processBeingChangeDirection(Net::MessageIn &msg)
{
BLOCK_START("BeingHandler::processBeingChangeDirection")
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index e5c92c0e9..c3b961db5 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -142,6 +142,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
static void processStarsKill(Net::MessageIn &msg);
static void processBlacksmithRanksList(Net::MessageIn &msg);
+
+ static void processAlchemistRanksList(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index 3a833f769..74b54d0f7 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -84,7 +84,7 @@ int16_t packet_lengths[] =
//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// #0x0200
26, -1, 0, 0, 18, 26, 11, 34, 0, 36, 10, 19, 10, 0, 32, 0,
- 22, -1, 16, 0, 42, 6, 6, 0, 0, 282, 0, 0, 0, 0, 0, 0,
+ 22, -1, 16, 0, 42, 6, 6, 0, 0, 282, 282, 0, 0, 0, 0, 0,
-1, 122, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 19, 71, 5,
12, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// #0x0240
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 6c9f823dd..6b84577e7 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -277,6 +277,7 @@
#define SMSG_RANKS_LIST 0x097d
#define SMSG_BLACKSMITH_RANKS_LIST 0x0219
+#define SMSG_ALCHEMIST_RANKS_LIST 0x021a
#define SMSG_MONSTER_HP 0x0977
#define SMSG_MONSTER_INFO 0x018c
#define SMSG_PLAYER_HP 0x080e