summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-04-01 03:03:11 +0300
committerAndrei Karas <akaras@inbox.ru>2016-04-01 03:03:11 +0300
commit0e1fefa2a4319738f7ab2a8a0e10be8a9e2b6ebc (patch)
tree0d8535801640b3f492d2b3db20a20e47176de28d
parentd5b524c02308c1db5c5ebba96fa9abf8db0da2de (diff)
downloadmv-0e1fefa2a4319738f7ab2a8a0e10be8a9e2b6ebc.tar.gz
mv-0e1fefa2a4319738f7ab2a8a0e10be8a9e2b6ebc.tar.bz2
mv-0e1fefa2a4319738f7ab2a8a0e10be8a9e2b6ebc.tar.xz
mv-0e1fefa2a4319738f7ab2a8a0e10be8a9e2b6ebc.zip
Add packet SMSG_PLAYER_SHORTCUTS 0x07d9.
-rw-r--r--src/net/eathena/packetsin.inc6
-rw-r--r--src/net/eathena/playerrecv.cpp3
2 files changed, 6 insertions, 3 deletions
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index 27620d7d3..0c99439f7 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -27,6 +27,9 @@ packet(SMSG_PLAYER_CART_ADD, 0x01c5, 22, &InventoryRecv::processP
// 20080102
packet(SMSG_MAP_LOGIN_SUCCESS, 0x02eb, 14, &GameRecv::processMapLogin, 20080102);
+// 20090603
+packet(SMSG_PLAYER_SHORTCUTS, 0x07d9, 269, &PlayerRecv::processPlayerShortcuts, 20090603);
+
// 20100223
packet(SMSG_TRADE_ITEM_ADD, 0x080f, 20, &TradeRecv::processTradeItemAdd, 20100223);
@@ -53,8 +56,8 @@ packet(SMSG_BEING_MOVE, 0x09db, -1, &BeingRecv::processBeing
packet(SMSG_BEING_SPAWN, 0x09dc, -1, &BeingRecv::processBeingSpawn, 20131223);
// 20141022
-// or 20141016?
packet(SMSG_MAP_LOGIN_SUCCESS, 0x0a18, 14, &GameRecv::processMapLogin, 20141022);
+packet(SMSG_PLAYER_SHORTCUTS, 0x0a00, 269, &PlayerRecv::processPlayerShortcuts, 20141022);
// 20150000 or near
packet(SMSG_ADMIN_ACCOUNT_STATS, 0x0214, 42, &AdminRecv::processAccountStats, 0);
@@ -354,7 +357,6 @@ packet(SMSG_PLAYER_REFINE, 0x0188, 8, &InventoryRecv::processP
packet(SMSG_PLAYER_REFINE_LIST, 0x0221, -1, &InventoryRecv::processPlayerRefineList, 0);
packet(SMSG_PLAYER_REPAIR_EFFECT, 0x01fe, 5, &InventoryRecv::processPlayerRepairEffect, 0);
packet(SMSG_PLAYER_REPAIR_LIST, 0x01fc, -1, &InventoryRecv::processPlayerRepairList, 0);
-packet(SMSG_PLAYER_SHORTCUTS, 0x0a00, 269, &PlayerRecv::processPlayerShortcuts, 0);
packet(SMSG_PLAYER_SHOW_EQUIP, 0x02da, 3, &PlayerRecv::processPlayerShowEquip, 0);
packet(SMSG_PLAYER_SKILLS, 0x010f, -1, &SkillRecv::processPlayerSkills, 0);
packet(SMSG_PLAYER_SKILL_AUTO_SPELLS, 0x01cd, 29, &SkillRecv::processSkillAutoSpells, 0);
diff --git a/src/net/eathena/playerrecv.cpp b/src/net/eathena/playerrecv.cpp
index 28f3fe96d..e46eceab9 100644
--- a/src/net/eathena/playerrecv.cpp
+++ b/src/net/eathena/playerrecv.cpp
@@ -52,7 +52,8 @@ void PlayerRecv::processPlayerShortcuts(Net::MessageIn &msg)
{
// +++ player shortcuts ignored. It also disabled on server side.
// may be in future better use it?
- msg.readUInt8("unused?");
+ if (msg.getVersion() >= 20141022)
+ msg.readUInt8("rotate");
for (int f = 0; f < 27; f ++)
{
msg.readUInt8("type 0: item, 1: skill");