summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-12 18:23:50 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-12 18:23:50 +0300
commit16a57526fbe271bd067cfa4ec44f2da9494bfa1f (patch)
tree167815cde7bd5961ed2b0e3f0c821227387e132a
parent38cef34addb9685d6f30e32b657917df98095d02 (diff)
downloadmv-16a57526fbe271bd067cfa4ec44f2da9494bfa1f.tar.gz
mv-16a57526fbe271bd067cfa4ec44f2da9494bfa1f.tar.bz2
mv-16a57526fbe271bd067cfa4ec44f2da9494bfa1f.tar.xz
mv-16a57526fbe271bd067cfa4ec44f2da9494bfa1f.zip
eathena: add partial support for packet SMSG_ITEM_DAMAGED 0x02bb.
-rw-r--r--src/net/eathena/inventoryhandler.cpp13
-rw-r--r--src/net/eathena/inventoryhandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 17 insertions, 1 deletions
diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp
index 4cbe83027..63799f8db 100644
--- a/src/net/eathena/inventoryhandler.cpp
+++ b/src/net/eathena/inventoryhandler.cpp
@@ -113,6 +113,7 @@ InventoryHandler::InventoryHandler() :
SMSG_PLAYER_STORAGE_PASSWORD,
SMSG_PLAYER_STORAGE_PASSWORD_RESULT,
SMSG_PLAYER_COOKING_LIST,
+ SMSG_ITEM_DAMAGED,
0
};
handledMessages = _messages;
@@ -273,6 +274,10 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
processPlayerCookingList(msg);
break;
+ case SMSG_ITEM_DAMAGED:
+ processItemDamaged(msg);
+ break;
+
default:
break;
}
@@ -1082,4 +1087,12 @@ void InventoryHandler::processPlayerCookingList(Net::MessageIn &msg)
msg.readInt16("item id");
}
+void InventoryHandler::processItemDamaged(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+
+ msg.readInt16("position");
+ msg.readInt32("account id");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/inventoryhandler.h b/src/net/eathena/inventoryhandler.h
index 8cf69408a..0f2363f24 100644
--- a/src/net/eathena/inventoryhandler.h
+++ b/src/net/eathena/inventoryhandler.h
@@ -133,6 +133,8 @@ class InventoryHandler final : public MessageHandler,
static void processPlayerCookingList(Net::MessageIn &msg);
+ static void processItemDamaged(Net::MessageIn &msg);
+
static Ea::InventoryItems mCartItems;
};
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index f65552728..01dbbbb5f 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -96,7 +96,7 @@ int16_t packet_lengths[] =
0, 0, 0, 6, 14, 0, 0, -1, 0, 12, 18, 0, 0, 0, 4, 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,
+ 0, -1, -1, 107, 6, -1, 0, 7, 22, 191, 0, 8, 0, 0, 0, 0,
// #0x02C0
0, -1, 0, 0, 0, 30, 30, 0, 0, 3, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 434620bc6..a14e46421 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -159,6 +159,7 @@
#define SMSG_STARS_KILL 0x020e
#define SMSG_GLADIATOR_FEEL_REQUEST 0x0253
#define SMSG_BOSS_MAP_INFO 0x0293
+#define SMSG_ITEM_DAMAGED 0x02bb
#define SMSG_PLAYER_STATUS_CHANGE 0x0229
#define SMSG_PLAYER_STATUS_CHANGE2 0x028a