summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-09-26 04:27:48 +0300
committerAndrei Karas <akaras@inbox.ru>2018-09-26 04:27:48 +0300
commit93c40783e3fdc33cc82253d3927d2f508b7ebe1a (patch)
tree27c944631e9dce17a0cd9435dee8b0282b20e801
parentf6b2109e3ae09f1b01d0e1c436f88f1f54dbd7d6 (diff)
downloadmv-93c40783e3fdc33cc82253d3927d2f508b7ebe1a.tar.gz
mv-93c40783e3fdc33cc82253d3927d2f508b7ebe1a.tar.bz2
mv-93c40783e3fdc33cc82253d3927d2f508b7ebe1a.tar.xz
mv-93c40783e3fdc33cc82253d3927d2f508b7ebe1a.zip
Add packet SMSG_BEING_VIEW_EQUIPMENT2 0x0b03.
-rw-r--r--src/net/eathena/beingrecv.cpp33
-rw-r--r--src/net/eathena/beingrecv.h1
-rw-r--r--src/net/eathena/packetsin.inc6
3 files changed, 40 insertions, 0 deletions
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp
index 9a20c8357..a214dda39 100644
--- a/src/net/eathena/beingrecv.cpp
+++ b/src/net/eathena/beingrecv.cpp
@@ -2007,6 +2007,39 @@ void BeingRecv::processBeingViewEquipment(Net::MessageIn &msg)
}
}
+void BeingRecv::processBeingViewEquipment2(Net::MessageIn &msg)
+{
+ UNIMPLEMENTEDPACKET;
+
+ const int count = (msg.readInt16("len") - 47) / (21 + itemIdLen * 5);
+ msg.readString(24, "name");
+ msg.readInt16("job");
+ msg.readInt16("head");
+ msg.readInt16("accessory");
+ msg.readInt16("accessory2");
+ msg.readInt16("accessory3");
+ msg.readInt16("robe");
+ msg.readInt16("hair color");
+ msg.readInt16("body color");
+ msg.readInt16("body2");
+ msg.readUInt8("gender");
+ for (int f = 0; f < count; f ++)
+ {
+ msg.readInt16("index");
+ msg.readItemId("item id");
+ msg.readUInt8("item type");
+ msg.readInt32("location");
+ msg.readInt32("wear state");
+ msg.readInt8("refine");
+ for (int d = 0; d < maxCards; d ++)
+ msg.readItemId("card");
+ msg.readInt32("hire expire date (?)");
+ msg.readInt16("equip type");
+ msg.readInt16("item sprite number");
+ msg.readUInt8("flags");
+ }
+}
+
void BeingRecv::processPvpSet(Net::MessageIn &msg)
{
BLOCK_START("BeingRecv::processPvpSet")
diff --git a/src/net/eathena/beingrecv.h b/src/net/eathena/beingrecv.h
index f6ac6d78e..f663eb4af 100644
--- a/src/net/eathena/beingrecv.h
+++ b/src/net/eathena/beingrecv.h
@@ -107,6 +107,7 @@ namespace EAthena
void processBeingMilleniumShield(Net::MessageIn &msg);
void processBeingCharm(Net::MessageIn &msg);
void processBeingViewEquipment(Net::MessageIn &msg);
+ void processBeingViewEquipment2(Net::MessageIn &msg);
void processPvpSet(Net::MessageIn &msg);
void processNameResponse2(Net::MessageIn &msg);
void processSkillCancel(Net::MessageIn &msg);
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index 10b4eafbf..639a2832a 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -1280,6 +1280,12 @@ if (packetVersionRe >= 20180704)
packet(SMSG_ITEM_DROPPED, 0x0add, 24, &ItemRecv::processItemDropped, 20180704);
}
+// 20180801
+if (packetVersionRe >= 20180801)
+{
+ packet(SMSG_BEING_VIEW_EQUIPMENT2, 0x0b03, -1, &BeingRecv::processBeingViewEquipment2, 20180801);
+}
+
// 0
// evol always packets
packet(SMSG_SERVER_VERSION_RESPONSE, 0x7531, -1, &LoginRecv::processServerVersion, 0);