summaryrefslogtreecommitdiff
path: root/src/map/packets_struct.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/packets_struct.h')
-rw-r--r--src/map/packets_struct.h122
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