summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/eathena/charserverhandler.cpp2
-rw-r--r--src/net/eathena/gamehandler.cpp1
-rw-r--r--src/net/eathena/packets.h7
-rw-r--r--src/net/eathena/playerhandler.cpp1
-rw-r--r--src/net/eathena/protocol.h6
-rw-r--r--src/net/eathena/questhandler.cpp3
6 files changed, 15 insertions, 5 deletions
diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp
index 760683073..4d90e4505 100644
--- a/src/net/eathena/charserverhandler.cpp
+++ b/src/net/eathena/charserverhandler.cpp
@@ -204,7 +204,7 @@ void CharServerHandler::readPlayerData(Net::MessageIn &msg,
msg.readInt16("speed");
tempPlayer->setSubtype(msg.readInt16("class"), 0);
const int hairStyle = msg.readInt16("hair style");
- const uint16_t weapon = msg.readInt16("weapon");
+ const uint16_t weapon = msg.readInt32("weapon");
tempPlayer->setSprite(SPRITE_WEAPON, weapon, "", 1, true);
diff --git a/src/net/eathena/gamehandler.cpp b/src/net/eathena/gamehandler.cpp
index 3df214464..42910d964 100644
--- a/src/net/eathena/gamehandler.cpp
+++ b/src/net/eathena/gamehandler.cpp
@@ -185,6 +185,7 @@ void GameHandler::processMapLogin(Net::MessageIn &msg)
"(%d, %d), Direction: %d",
x, y, direction);
msg.readInt16("font");
+ msg.readUInt8("sex");
mLastHost &= 0xffffff;
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index 5211e5ea3..11f928ff7 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, 288, 0, 0,
+ 31, 0, 0, 0, 0, 0, 0, 14, 0, 0, -1, 0, 0, 288, 0, 0,
// #0x0980
0, 0, 0, 29, 0, -1, 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,
@@ -258,6 +258,11 @@ int16_t packet_lengths[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
//0 1 2 3 4 5 6 7 8 9 a b c d e f
//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+// #0x0A00
+269, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 7,
+ 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,
};
} // namespace EAthena
diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp
index 4f4e21e5b..65c213dda 100644
--- a/src/net/eathena/playerhandler.cpp
+++ b/src/net/eathena/playerhandler.cpp
@@ -274,6 +274,7 @@ void PlayerHandler::setMemo() const
void PlayerHandler::processPlayerShortcuts(Net::MessageIn &msg)
{
+ msg.readUInt8("unused?");
for (int f = 0; f < 27; f ++)
{
msg.readUInt8("type 0: item, 1: skill");
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 9a6824ba4..4328941be 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -54,7 +54,7 @@
#define SMSG_CHAR_SWITCH_RESPONSE 0x00b3
#define SMSG_CHANGE_MAP_SERVER 0x0092
-#define SMSG_MAP_LOGIN_SUCCESS 0x02eb /**< Contains starting location */
+#define SMSG_MAP_LOGIN_SUCCESS 0x0a18 /**< Contains starting location */
#define SMSG_MAP_QUIT_RESPONSE 0x018b
#define SMSG_PLAYER_UPDATE_1 0x01d8
#define SMSG_PLAYER_UPDATE_2 0x01d9
@@ -228,7 +228,7 @@
#define SMSG_GUILD_UPDATE_COORDS 0x01eb
#define SMSG_QUEST_ADD 0x02b3
-#define SMSG_QUEST_LIST 0x02b1
+#define SMSG_QUEST_LIST 0x097a
#define SMSG_QUEST_LIST_OBJECTIVES 0x02b2
#define SMSG_QUEST_UPDATE_OBJECTIVES 0x02b5
#define SMSG_QUEST_REMOVE 0x02b4
@@ -280,7 +280,7 @@
#define SMSG_NPC_COMMAND 0x0212
#define SMSG_MAP_ACCOUNT_ID 0x0283
-#define SMSG_PLAYER_SHORTCUTS 0x07d9
+#define SMSG_PLAYER_SHORTCUTS 0x0a00
#define SMSG_PLAYER_SHOW_EQUIP 0x02da
#define SMSG_NPC_CUTIN 0x01b3
#define SMSG_NPC_VIEWPOINT 0x0144
diff --git a/src/net/eathena/questhandler.cpp b/src/net/eathena/questhandler.cpp
index 796663bde..cd1521d6d 100644
--- a/src/net/eathena/questhandler.cpp
+++ b/src/net/eathena/questhandler.cpp
@@ -128,6 +128,9 @@ void QuestHandler::processAddQuests(Net::MessageIn &msg)
{
const int var = msg.readInt32("quest id");
const int val = msg.readUInt8("state");
+ msg.readInt32("time diff");
+ msg.readInt32("time");
+ msg.readInt16("objectives count");
if (questsWindow)
questsWindow->updateQuest(var, val);
if (skillDialog)