diff options
Diffstat (limited to 'src/map/packets_struct.h')
-rw-r--r-- | src/map/packets_struct.h | 122 |
1 files changed, 99 insertions, 23 deletions
diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h index af76a66d7..374769728 100644 --- a/src/map/packets_struct.h +++ b/src/map/packets_struct.h @@ -198,7 +198,7 @@ enum packet_headers { #else dropflooritemType = 0x9e, #endif -#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 inventorylistnormalType = 0xb09, #elif PACKETVER >= 20120925 inventorylistnormalType = 0x991, @@ -209,7 +209,7 @@ enum packet_headers { #else inventorylistnormalType = 0xa3, #endif -#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 inventorylistequipType = 0xb0a, #elif PACKETVER >= 20150226 inventorylistequipType = 0xa0d, @@ -222,7 +222,7 @@ enum packet_headers { #else inventorylistequipType = 0xa4, #endif -#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 storageListNormalType = 0xb09, #elif PACKETVER >= 20120925 storageListNormalType = 0x995, @@ -233,7 +233,7 @@ enum packet_headers { #else storageListNormalType = 0xa5, #endif -#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 storageListEquipType = 0xb0a, #elif PACKETVER >= 20150226 storageListEquipType = 0xa10, @@ -246,7 +246,7 @@ enum packet_headers { #else storageListEquipType = 0xa6, #endif -#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 cartlistnormalType = 0xb09, #elif PACKETVER >= 20120925 cartlistnormalType = 0x993, @@ -257,7 +257,7 @@ enum packet_headers { #else cartlistnormalType = 0x123, #endif -#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 cartlistequipType = 0xb0a, #elif PACKETVER >= 20150226 cartlistequipType = 0xa0f, @@ -324,7 +324,9 @@ enum packet_headers { achievementUpdateType = 0xa24, achievementRewardAckType = 0xa26, #endif // PACKETVER >= 20141016 -#if PACKETVER >= 20150513 // [4144] 0x09f8 handling in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE +#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017 + questListType = 0xaff, ///< ZC_ALL_QUEST_LIST4 +#elif PACKETVER >= 20150513 // [4144] 0x09f8 handling in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE questListType = 0x9f8, ///< ZC_ALL_QUEST_LIST3 #elif PACKETVER >= 20141022 questListType = 0x97a, ///< ZC_ALL_QUEST_LIST2 @@ -378,12 +380,16 @@ enum packet_headers { clanLeave = 0x0989, ///< ZC_ACK_CLAN_LEAVE clanMessage = 0x098E, ///< ZC_NOTIFY_CLAN_CHAT #endif -#if PACKETVER >= 20150513 // [4144] 0x09f9 handled in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE +#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017 + questAddType = 0xb0c, +#elif PACKETVER >= 20150513 // [4144] 0x09f9 handled in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE questAddType = 0x9f9, #else questAddType = 0x2b3, #endif // PACKETVER < 20150513 -#if PACKETVER >= 20150513 +#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017 + questUpdateType = 0xafe, +#elif PACKETVER >= 20150513 questUpdateType = 0x9fa, #else questUpdateType = 0x2b5, @@ -445,6 +451,16 @@ enum packet_headers { #else guildLeave = 0x15a, #endif +#if PACKETVER_MAIN_NUM >= 20181017 || PACKETVER_RE_NUM >= 20181017 || PACKETVER_ZERO_NUM >= 20181024 + itemPreview = 0xb13, +#else + itemPreview = 0xab9, +#endif +#if PACKETVER_RE_NUM >= 20181031 + autoSpellList = 0xafb, +#else + autoSpellList = 0x1cd, +#endif }; #if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute @@ -1174,7 +1190,7 @@ struct packet_roulette_itemrecv_ack { struct packet_itemlist_normal { int16 PacketType; int16 PacketLength; -#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 uint8 invType; #endif struct NORMALITEM_INFO list[MAX_ITEMLIST]; @@ -1183,7 +1199,7 @@ struct packet_itemlist_normal { struct packet_itemlist_equip { int16 PacketType; int16 PacketLength; -#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 uint8 invType; #endif struct EQUIPITEM_INFO list[MAX_ITEMLIST]; @@ -1192,10 +1208,10 @@ struct packet_itemlist_equip { struct ZC_STORE_ITEMLIST_NORMAL { int16 PacketType; int16 PacketLength; -#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 uint8 invType; #endif -#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 +#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002 char name[NAME_LENGTH]; #endif struct NORMALITEM_INFO list[MAX_ITEMLIST]; @@ -1203,13 +1219,13 @@ struct ZC_STORE_ITEMLIST_NORMAL { struct ZC_INVENTORY_START { int16 packetType; -#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 int16 packetLength; #endif -#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 uint8 invType; #endif -#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 char name[]; #else char name[NAME_LENGTH]; @@ -1218,7 +1234,7 @@ struct ZC_INVENTORY_START { struct ZC_INVENTORY_END { int16 packetType; -#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 uint8 invType; #endif char flag; @@ -1227,10 +1243,10 @@ struct ZC_INVENTORY_END { struct ZC_STORE_ITEMLIST_EQUIP { int16 PacketType; int16 PacketLength; -#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 +#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002 uint8 invType; #endif -#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 +#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002 char name[NAME_LENGTH]; #endif struct EQUIPITEM_INFO list[MAX_ITEMLIST]; @@ -1449,7 +1465,11 @@ struct packet_hotkey { * MISSION_HUNT_INFO_EX (PACKETVER >= 20150513) */ struct packet_mission_info_sub { -#if PACKETVER >= 20150513 +#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017 + uint32 huntIdent; + uint32 huntIdent2; + uint32 mobType; +#elif PACKETVER >= 20150513 uint32 huntIdent; uint32 mobType; #endif @@ -1819,7 +1839,11 @@ struct PACKET_ZC_NOTIFY_CLAN_CHAT { * PACKET_ZC_MISSION_HUNT_EX (PACKETVER >= 20150513) */ struct packet_quest_hunt_sub { -#if PACKETVER >= 20150513 +#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017 + uint32 huntIdent; + uint32 huntIdent2; + uint32 mobType; +#elif PACKETVER >= 20150513 uint32 huntIdent; uint32 mobType; #endif @@ -1853,7 +1877,10 @@ struct packet_quest_add_header { */ struct packet_quest_update_hunt { uint32 questID; -#if PACKETVER >= 20150513 +#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017 + uint32 huntIdent; + uint32 huntIdent2; +#elif PACKETVER >= 20150513 uint32 huntIdent; #else uint32 mob_id; @@ -1906,7 +1933,9 @@ struct PACKET_ZC_FORMATSTRING_MSG_COLOR { uint16 PacketType; uint16 PacketLength; uint16 messageId; +#if PACKETVER >= 20160406 uint32 color; +#endif char messageString[]; } __attribute__((packed)); @@ -2274,8 +2303,13 @@ struct PACKET_ZC_PROPERTY_HOMUN { uint16 mdef; uint16 flee; uint16 amotion; +#if PACKETVER < 20150513 + uint16 hp; + uint16 maxHp; +#else uint32 hp; uint32 maxHp; +#endif uint16 sp; uint16 maxSp; uint32 exp; @@ -2722,7 +2756,7 @@ struct packet_achievement_update { struct packet_achievement_reward_ack { uint16 packet_id; - uint8 received; + uint8 failed; uint32 ach_id; } __attribute__((packed)); @@ -2836,6 +2870,48 @@ struct PACKET_CZ_MEMORIALDUNGEON_COMMAND { int32 command; } __attribute__((packed)); +struct PACKET_ZC_REMOVE_EFFECT { + int16 packetType; + uint32 aid; + uint32 effectId; +} __attribute__((packed)); + +struct PACKET_ZC_CAMERA_INFO { + int16 packetType; + int8 action; + float range; + float rotation; + float latitude; +} __attribute__((packed)); + +struct PACKET_ZC_ITEM_PREVIEW { + int16 packetType; + int16 index; +#if PACKETVER_MAIN_NUM >= 20181017 || PACKETVER_RE_NUM >= 20181017 || PACKETVER_ZERO_NUM >= 20181024 + int8 isDamaged; +#endif + int16 refiningLevel; + struct EQUIPSLOTINFO slot; + struct ItemOptions option_data[MAX_ITEM_OPTIONS]; +} __attribute__((packed)); + +#if PACKETVER_RE_NUM >= 20181031 +#define PACKET_ZC_AUTOSPELLLIST PACKET_ZC_AUTOSPELLLIST2 +#else +#define PACKET_ZC_AUTOSPELLLIST PACKET_ZC_AUTOSPELLLIST1 +#endif + +struct PACKET_ZC_AUTOSPELLLIST1 { + int16 packetType; + int skills[7]; +} __attribute__((packed)); + +struct PACKET_ZC_AUTOSPELLLIST2 { + int16 packetType; + int16 packetLength; + int skills[]; +} __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 |