From 509df4d77031fdd5bbc1364ea4c99516589c018d Mon Sep 17 00:00:00 2001 From: Dastgir Date: Mon, 3 Aug 2015 17:08:19 +0530 Subject: New EquipPackets Support --- src/map/packets_struct.h | 63 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 55 insertions(+), 8 deletions(-) (limited to 'src/map/packets_struct.h') 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 -- cgit v1.2.3-60-g2f50