summaryrefslogtreecommitdiff
path: root/src/map/packets_struct.h
diff options
context:
space:
mode:
authorDastgir <dastgirpojee@rocketmail.com>2015-08-03 17:08:19 +0530
committerDastgir <dastgirpojee@rocketmail.com>2015-08-16 18:42:35 +0530
commit509df4d77031fdd5bbc1364ea4c99516589c018d (patch)
treea5f58c1cbc3af5f9a43004ac023b9aef919a0a07 /src/map/packets_struct.h
parentd1f1c93fb7167c2c830e3ceb497feac39fce950b (diff)
downloadhercules-509df4d77031fdd5bbc1364ea4c99516589c018d.tar.gz
hercules-509df4d77031fdd5bbc1364ea4c99516589c018d.tar.bz2
hercules-509df4d77031fdd5bbc1364ea4c99516589c018d.tar.xz
hercules-509df4d77031fdd5bbc1364ea4c99516589c018d.zip
New EquipPackets Support
Diffstat (limited to 'src/map/packets_struct.h')
-rw-r--r--src/map/packets_struct.h63
1 files changed, 55 insertions, 8 deletions
diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h
index 231321c88..bf3e006be 100644
--- a/src/map/packets_struct.h
+++ b/src/map/packets_struct.h
@@ -18,14 +18,37 @@ enum packet_headers {
banking_checkType = 0x9a6,
cart_additem_ackType = 0x12c,
sc_notickType = 0x196,
+#if PACKETVER >= 20150226
+ cartaddType = 0xa0b,
+#elif PACKETVER >= 5
+ cartaddType = 0x1c5,
+#else
+ cartaddType = 0x124,
+#endif
+#if PACKETVER >= 20150226
+ storageaddType = 0xa0a,
+#elif PACKETVER >= 5
+ storageaddType = 0x1c4,
+#else
+ storageaddType = 0xf4,
+#endif
+#if PACKETVER >= 20150226
+ tradeaddType = 0xa09,
+#elif PACKETVER >= 20100223
+ tradeaddType = 0x80f,
+#else
+ tradeaddType = 0x0e9,
+#endif
#if PACKETVER < 20061218
- additemType = 0xa0,
+ additemType = 0x0a0,
#elif PACKETVER < 20071002
additemType = 0x29a,
#elif PACKETVER < 20120925
additemType = 0x2d4,
-#else
+#elif PACKETVER < 20150226
additemType = 0x990,
+#else
+ additemType = 0xa0c,
#endif
#if PACKETVER < 4
idle_unitType = 0x78,
@@ -134,7 +157,9 @@ enum packet_headers {
#else
inventorylistnormalType = 0xa3,
#endif
-#if PACKETVER >= 20120925
+#if PACKETVER >= 20150226
+ inventorylistequipType = 0xa0d,
+#elif PACKETVER >= 20120925
inventorylistequipType = 0x992,
#elif PACKETVER >= 20080102
inventorylistequipType = 0x2d0,
@@ -152,7 +177,9 @@ enum packet_headers {
#else
storagelistnormalType = 0xa5,
#endif
-#if PACKETVER >= 20120925
+#if PACKETVER >= 20150226
+ storagelistequipType = 0xa10,
+#elif PACKETVER >= 20120925
storagelistequipType = 0x996,
#elif PACKETVER >= 20080102
storagelistequipType = 0x2d1,
@@ -170,7 +197,9 @@ enum packet_headers {
#else
cartlistnormalType = 0x123,
#endif
-#if PACKETVER >= 20120925
+#if PACKETVER >= 20150226
+ cartlistequipType = 0xa0f,
+#elif PACKETVER >= 20120925
cartlistequipType = 0x994,
#elif PACKETVER >= 20080102
cartlistequipType = 0x2d2,
@@ -179,6 +208,12 @@ enum packet_headers {
#else
cartlistequipType = 0x122,
#endif
+#if PACKETVER < 20100105
+ vendinglistType = 0x133,
+#else
+ vendinglistType = 0x800,
+#endif
+ openvendingType = 0x136,
#if PACKETVER >= 20120925
equipitemType = 0x998,
#else
@@ -213,8 +248,8 @@ enum packet_headers {
#endif
partyleaderchangedType = 0x7fc,
rouletteinfoackType = 0xa1c,
- roulettgenerateackType = 0xA20,
- roulettercvitemackType = 0xA22,
+ roulettgenerateackType = 0xa20,
+ roulettercvitemackType = 0xa22,
};
#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
@@ -256,6 +291,12 @@ struct NORMALITEM_INFO {
#endif
} __attribute__((packed));
+struct RndOptions {
+ short index;
+ short value;
+ unsigned char param;
+} __attribute__((packed));
+
struct EQUIPITEM_INFO {
short index;
unsigned short ITID;
@@ -292,6 +333,10 @@ struct EQUIPITEM_INFO {
unsigned char SpareBits : 5;
} Flag;
#endif
+#if PACKETVER >= 20150226
+ unsigned char option_count;
+ struct RndOptions option_data[5];
+#endif
} __attribute__((packed));
struct packet_authok {
@@ -344,6 +389,9 @@ struct packet_additem {
#if PACKETVER >= 20071002
unsigned short bindOnEquipType;
#endif
+#if PACKETVER >= 20150226
+ struct RndOptions option_data[5];
+#endif
} __attribute__((packed));
struct packet_dropflooritem {
@@ -1034,7 +1082,6 @@ struct packet_party_leader_changed {
unsigned int new_leader_aid;
} __attribute__((packed));
-
#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
#pragma pack(pop)
#endif // not NetBSD < 6 / Solaris