summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-12 18:17:02 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-12 18:17:02 +0300
commit38cef34addb9685d6f30e32b657917df98095d02 (patch)
treeaa0e8d432fc6e08a556da45d5d279a09a09c592a /src/net
parent841c5a9c5fdba7c9607a3fcd9a2bf40e20bcca7f (diff)
downloadmv-38cef34addb9685d6f30e32b657917df98095d02.tar.gz
mv-38cef34addb9685d6f30e32b657917df98095d02.tar.bz2
mv-38cef34addb9685d6f30e32b657917df98095d02.tar.xz
mv-38cef34addb9685d6f30e32b657917df98095d02.zip
eathena: add partial support for packet SMSG_PLAYER_READ_BOOK 0x0294.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/playerhandler.cpp12
-rw-r--r--src/net/eathena/playerhandler.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 16 insertions, 1 deletions
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index a7d355560..f65552728 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -94,7 +94,7 @@ int16_t packet_lengths[] =
0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// #0x0280
0, 0, 0, 6, 14, 0, 0, -1, 0, 12, 18, 0, 0, 0, 4, 0,
- 4, 4, 0, 70, 0, 0, 0, 0, 8, 6, 0, 80, 0, -1, 0, 0,
+ 4, 4, 0, 70, 10, 0, 0, 0, 8, 6, 0, 80, 0, -1, 0, 0,
0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -1, -1, 107, 6, -1, 0, 7, 22, 191, 0, 0, 0, 0, 0, 0,
// #0x02C0
diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp
index d69d6b6eb..e38aab489 100644
--- a/src/net/eathena/playerhandler.cpp
+++ b/src/net/eathena/playerhandler.cpp
@@ -68,6 +68,7 @@ PlayerHandler::PlayerHandler() :
SMSG_PLAYER_FAME_ALCHEMIST,
SMSG_PLAYER_UPGRADE_MESSAGE,
SMSG_PLAYER_FAME_TAEKWON,
+ SMSG_PLAYER_READ_BOOK,
0
};
handledMessages = _messages;
@@ -171,6 +172,10 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
processPlayerFameTaekwon(msg);
break;
+ case SMSG_PLAYER_READ_BOOK:
+ processPlayerReadBook(msg);
+ break;
+
default:
break;
}
@@ -573,4 +578,11 @@ void PlayerHandler::processPlayerFameTaekwon(Net::MessageIn &msg)
msg.readInt32("total points");
}
+void PlayerHandler::processPlayerReadBook(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+ msg.readInt32("book id");
+ msg.readInt32("page");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/playerhandler.h b/src/net/eathena/playerhandler.h
index 9d924beb2..470dcfdc6 100644
--- a/src/net/eathena/playerhandler.h
+++ b/src/net/eathena/playerhandler.h
@@ -100,6 +100,8 @@ class PlayerHandler final : public MessageHandler, public Ea::PlayerHandler
static void processPlayerUpgradeMessage(Net::MessageIn &msg);
static void processPlayerFameTaekwon(Net::MessageIn &msg);
+
+ static void processPlayerReadBook(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 353278842..434620bc6 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -111,6 +111,7 @@
#define SMSG_PLAYER_REFINE_LIST 0x0221
#define SMSG_PLAYER_UPGRADE_MESSAGE 0x0223
#define SMSG_PLAYER_COOKING_LIST 0x025a
+#define SMSG_PLAYER_READ_BOOK 0x0294
#define SMSG_SKILL_FAILED 0x0110
#define SMSG_SKILL_DAMAGE 0x01de
#define SMSG_SKILL_AUTO_CAST 0x0147