clif_packetdb.hpp 77 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056
  1. // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
  2. // For more information, see LICENCE in the main folder
  3. #ifndef CLIF_PACKETDB_HPP
  4. #define CLIF_PACKETDB_HPP
  5. #define packet(cmd,length) packetdb_addpacket(cmd,length,nullptr,0)
  6. #define parseable_packet(cmd,length,func,...) packetdb_addpacket(cmd,length,func,__VA_ARGS__,0)
  7. packet(0x0064,55);
  8. packet(0x0065,17);
  9. packet(0x0066,6);
  10. packet(0x0067,37);
  11. packet(0x0068,46);
  12. packet(0x0069,-1);
  13. packet(0x006a,23);
  14. packet(0x006b,-1);
  15. packet(0x006c,3);
  16. packet(0x006d,108);
  17. packet(0x006e,3);
  18. packet(0x006f,2);
  19. packet(0x0070,6);
  20. packet(0x0071,28);
  21. parseable_packet(0x0072,19,clif_parse_WantToConnection,2,6,10,14,18);
  22. packet(0x0075,-1);
  23. packet(0x0076,9);
  24. packet(0x0077,5);
  25. packet(0x0079,53);
  26. packet(0x007a,58);
  27. packet(0x007b,60);
  28. packet(0x007c,41);
  29. parseable_packet(0x007d,2,clif_parse_LoadEndAck,0);
  30. parseable_packet(0x007e,6,clif_parse_TickSend,2);
  31. packet(0x007f,6);
  32. packet(0x0082,2);
  33. packet(0x0083,2);
  34. packet(0x0084,2);
  35. parseable_packet(0x0085,5,clif_parse_WalkToXY,2);
  36. parseable_packet(0x0089,7,clif_parse_ActionRequest,2,6);
  37. packet(0x008b,2);
  38. parseable_packet(0x008c,-1,clif_parse_GlobalMessage,2,4);
  39. packet(0x008d,-1);
  40. packet(0x008e,-1);
  41. parseable_packet( HEADER_CZ_CONTACTNPC, sizeof( PACKET_CZ_CONTACTNPC ), clif_parse_NpcClicked, 0 );
  42. packet(0x0093,2);
  43. parseable_packet(0x0094,6,clif_parse_GetCharNameRequest,2);
  44. parseable_packet(0x0096,-1,clif_parse_WisMessage,2,4,28);
  45. parseable_packet( HEADER_CZ_BROADCAST, -1, clif_parse_Broadcast, 0 );
  46. parseable_packet(0x009b,5,clif_parse_ChangeDir,2,4);
  47. packet(0x009e,17);
  48. parseable_packet(0x009f,6,clif_parse_TakeItem,2);
  49. parseable_packet(0x00a2,6,clif_parse_DropItem,2,4);
  50. packet( inventorylistnormalType, -1 );
  51. packet( inventorylistequipType, -1 );
  52. packet( storageListNormalType, -1 );
  53. packet( storageListEquipType, -1 );
  54. parseable_packet(0x00a7,8,clif_parse_UseItem,2,4);
  55. packet( useItemAckType, sizeof( struct PACKET_ZC_USE_ITEM_ACK ) );
  56. parseable_packet( HEADER_CZ_REQ_WEAR_EQUIP, sizeof( PACKET_CZ_REQ_WEAR_EQUIP ), clif_parse_EquipItem, 0 );
  57. parseable_packet(0x00ab,4,clif_parse_UnequipItem,2);
  58. packet(0x00ae,-1);
  59. parseable_packet(0x00b2,3,clif_parse_Restart,2);
  60. parseable_packet(0x00b8,7,clif_parse_NpcSelectMenu,2,6);
  61. parseable_packet(0x00b9,6,clif_parse_NpcNextClicked,2);
  62. packet(0x00ba,2);
  63. parseable_packet(0x00bb,5,clif_parse_StatusUp,2,4);
  64. parseable_packet(0x00bf,3,clif_parse_Emotion,2);
  65. packet(0x00c0,7);
  66. parseable_packet(0x00c1,2,clif_parse_HowManyConnections,0);
  67. packet(0x00c3,8);
  68. parseable_packet( HEADER_CZ_ACK_SELECT_DEALTYPE, sizeof( PACKET_CZ_ACK_SELECT_DEALTYPE ), clif_parse_NpcBuySellSelected, 0 );
  69. packet(0x00c6,-1);
  70. parseable_packet(0x00c8,-1,clif_parse_NpcBuyListSend,2,4);
  71. parseable_packet(HEADER_CZ_PC_SELL_ITEMLIST,-1,clif_parse_NpcSellListSend,2,4);
  72. packet(0x00ca,3);
  73. packet(0x00cb,3);
  74. parseable_packet(0x00cc,6,clif_parse_GMKick,2);
  75. packet(0x00cd,3);
  76. parseable_packet(0x00ce,2,clif_parse_GMKickAll,0);
  77. parseable_packet(0x00cf,27,clif_parse_PMIgnore,2,26);
  78. parseable_packet(0x00d0,3,clif_parse_PMIgnoreAll,2);
  79. packet(0x00d1,4);
  80. packet(0x00d2,4);
  81. parseable_packet(0x00d3,2,clif_parse_PMIgnoreList,0);
  82. packet(0x00d4,-1);
  83. parseable_packet( HEADER_CZ_CREATE_CHATROOM, -1, clif_parse_CreateChatRoom, 0 );
  84. parseable_packet( HEADER_CZ_REQ_ENTER_ROOM, sizeof( PACKET_CZ_REQ_ENTER_ROOM ), clif_parse_ChatAddMember, 0 );
  85. parseable_packet( HEADER_CZ_CHANGE_CHATROOM, -1, clif_parse_ChatRoomStatusChange, 0 );
  86. parseable_packet(0x00e0,30,clif_parse_ChangeChatOwner,2,6);
  87. parseable_packet(0x00e2,26,clif_parse_KickFromChat,2);
  88. parseable_packet(0x00e3,2,clif_parse_ChatLeave,0);
  89. parseable_packet(0x00e4,6,clif_parse_TradeRequest,2);
  90. packet(0x00e5,26);
  91. parseable_packet(0x00e6,3,clif_parse_TradeAck,2);
  92. parseable_packet( HEADER_CZ_ADD_EXCHANGE_ITEM, sizeof( PACKET_CZ_ADD_EXCHANGE_ITEM ), clif_parse_TradeAddItem, 0 );
  93. packet(0x00ea,5);
  94. parseable_packet(0x00eb,2,clif_parse_TradeOk,0);
  95. parseable_packet(0x00ed,2,clif_parse_TradeCancel,0);
  96. parseable_packet(0x00ef,2,clif_parse_TradeCommit,0);
  97. parseable_packet(0x00f3,8,clif_parse_MoveToKafra,2,4);
  98. parseable_packet(0x00f5,8,clif_parse_MoveFromKafra,2,4);
  99. parseable_packet(0x00f7,2,clif_parse_CloseKafra,0);
  100. parseable_packet( HEADER_CZ_MAKE_GROUP, sizeof( PACKET_CZ_MAKE_GROUP ), clif_parse_CreateParty, 0 );
  101. packet(0x00fb,-1);
  102. parseable_packet( HEADER_CZ_REQ_JOIN_GROUP, sizeof( PACKET_CZ_REQ_JOIN_GROUP ), clif_parse_PartyInvite, 0 );
  103. packet(0x00fd,27);
  104. parseable_packet( HEADER_CZ_JOIN_GROUP, sizeof( PACKET_CZ_JOIN_GROUP ), clif_parse_ReplyPartyInvite, 0 );
  105. parseable_packet( HEADER_CZ_REQ_LEAVE_GROUP, sizeof( PACKET_CZ_REQ_LEAVE_GROUP ), clif_parse_LeaveParty, 0 );
  106. packet(0x0101,6);
  107. parseable_packet(0x0102,6,clif_parse_PartyChangeOption,2);
  108. parseable_packet( HEADER_CZ_REQ_EXPEL_GROUP_MEMBER, sizeof( PACKET_CZ_REQ_EXPEL_GROUP_MEMBER ), clif_parse_RemovePartyMember, 0 );
  109. packet(0x0104,79);
  110. parseable_packet(0x0108,-1,clif_parse_PartyMessage,2,4);
  111. packet(0x0109,-1);
  112. packet(0x010f,-1);
  113. parseable_packet(0x0112,4,clif_parse_SkillUp,2);
  114. parseable_packet(0x0113,10,clif_parse_UseSkillToId,2,4,6);
  115. packet(0x0114,31);
  116. packet(0x0115,35);
  117. parseable_packet(0x0116,10,clif_parse_UseSkillToPos,2,4,6,8);
  118. parseable_packet(0x0118,2,clif_parse_StopAttack,0);
  119. packet(0x0119,13);
  120. parseable_packet( HEADER_CZ_SELECT_WARPPOINT, sizeof( PACKET_CZ_SELECT_WARPPOINT ), clif_parse_UseSkillMap, 0 );
  121. parseable_packet(0x011d,2,clif_parse_RequestMemo,0);
  122. packet(0x011f,16);
  123. packet( cartlistequipType, -1 );
  124. packet( cartlistnormalType, -1 );
  125. parseable_packet( HEADER_CZ_MOVE_ITEM_FROM_BODY_TO_CART, sizeof( PACKET_CZ_MOVE_ITEM_FROM_BODY_TO_CART ), clif_parse_PutItemToCart, 0 );
  126. parseable_packet( HEADER_CZ_MOVE_ITEM_FROM_CART_TO_BODY, sizeof( PACKET_CZ_MOVE_ITEM_FROM_CART_TO_BODY ), clif_parse_GetItemFromCart, 0 );
  127. parseable_packet( HEADER_CZ_MOVE_ITEM_FROM_STORE_TO_CART, sizeof( PACKET_CZ_MOVE_ITEM_FROM_STORE_TO_CART ), clif_parse_MoveFromKafraToCart, 0 );
  128. parseable_packet( HEADER_CZ_MOVE_ITEM_FROM_CART_TO_STORE, sizeof( PACKET_CZ_MOVE_ITEM_FROM_CART_TO_STORE ), clif_parse_MoveToKafraFromCart, 0 );
  129. parseable_packet(0x012a,2,clif_parse_RemoveOption,0);
  130. parseable_packet(0x012e,2,clif_parse_CloseVending,0);
  131. parseable_packet(0x012f,-1,clif_parse_OpenVending,2,4,0,84);
  132. parseable_packet(0x0130,6,clif_parse_VendingListReq,2);
  133. packet(0x0132,6);
  134. parseable_packet( HEADER_CZ_PC_PURCHASE_ITEMLIST_FROMMC, -1, clif_parse_PurchaseReq, 0 );
  135. packet(0x0138,3);
  136. packet(0x013e,24);
  137. parseable_packet(0x013f,26,clif_parse_GM_Item_Monster,2);
  138. parseable_packet( HEADER_CZ_MOVETO_MAP, sizeof( PACKET_CZ_MOVETO_MAP ), clif_parse_MapMove, 0 );
  139. parseable_packet( HEADER_CZ_INPUT_EDITDLG, sizeof( PACKET_CZ_INPUT_EDITDLG ), clif_parse_NpcAmountInput, 0 );
  140. packet(0x0145,19);
  141. parseable_packet( HEADER_CZ_CLOSE_DIALOG, sizeof( PACKET_CZ_CLOSE_DIALOG ), clif_parse_NpcCloseClicked, 0 );
  142. packet(0x0147,39);
  143. parseable_packet(0x0149,9,clif_parse_GMReqNoChat,2,6,7);
  144. packet(0x014a,6);
  145. packet(0x014b,27);
  146. parseable_packet(0x014d,2,clif_parse_GuildCheckMaster,0);
  147. parseable_packet(0x014f,6,clif_parse_GuildRequestInfo,2);
  148. packet(0x0150,110);
  149. parseable_packet(0x0151,6,clif_parse_GuildRequestEmblem,2);
  150. packet(0x0152,-1);
  151. parseable_packet(0x0153,-1,clif_parse_GuildChangeEmblem,2,4);
  152. packet(0x0154,-1);
  153. parseable_packet( HEADER_CZ_REQ_CHANGE_MEMBERPOS, -1, clif_parse_GuildChangeMemberPosition, 0 );
  154. packet(0x0156,-1);
  155. packet(0x0157,6);
  156. packet(0x0158,-1);
  157. parseable_packet( HEADER_CZ_REQ_LEAVE_GUILD, sizeof( PACKET_CZ_REQ_LEAVE_GUILD ), clif_parse_GuildLeave, 0 );
  158. parseable_packet( HEADER_CZ_REQ_BAN_GUILD, sizeof( PACKET_CZ_REQ_BAN_GUILD ), clif_parse_GuildExpulsion, 0 );
  159. parseable_packet( HEADER_CZ_REQ_DISORGANIZE_GUILD, sizeof( PACKET_CZ_REQ_DISORGANIZE_GUILD ), clif_parse_GuildBreak, 0 );
  160. packet(0x015f,42);
  161. parseable_packet(0x0161,-1,clif_parse_GuildChangePositionInfo,2,4);
  162. packet(0x0164,-1);
  163. parseable_packet(0x0165,30,clif_parse_CreateGuild,2,6);
  164. packet(0x0166,-1);
  165. parseable_packet( HEADER_CZ_REQ_JOIN_GUILD, sizeof( PACKET_CZ_REQ_JOIN_GUILD ), clif_parse_GuildInvite, 0 );
  166. parseable_packet( HEADER_CZ_JOIN_GUILD, sizeof( PACKET_CZ_JOIN_GUILD ), clif_parse_GuildReplyInvite, 0 );
  167. packet(0x016c,43);
  168. packet(0x016d,14);
  169. parseable_packet(0x016e,186,clif_parse_GuildChangeNotice,2,6,66);
  170. parseable_packet(0x0170,14,clif_parse_GuildRequestAlliance,2,6,10);
  171. parseable_packet(0x0172,10,clif_parse_GuildReplyAlliance,2,6);
  172. packet(0x0174,-1);
  173. packet(0x0175,6);
  174. packet(0x0176,106);
  175. packet(0x0177,-1);
  176. parseable_packet( HEADER_CZ_REQ_ITEMIDENTIFY, sizeof( PACKET_CZ_REQ_ITEMIDENTIFY ), clif_parse_ItemIdentify, 0 );
  177. parseable_packet( HEADER_CZ_REQ_ITEMCOMPOSITION_LIST, sizeof( PACKET_CZ_REQ_ITEMCOMPOSITION_LIST ), clif_parse_UseCard, 0 );
  178. packet(0x017b,-1);
  179. parseable_packet( HEADER_CZ_REQ_ITEMCOMPOSITION, sizeof( PACKET_CZ_REQ_ITEMCOMPOSITION ), clif_parse_InsertCard, 0 );
  180. parseable_packet(0x017e,-1,clif_parse_GuildMessage,2,4);
  181. parseable_packet(0x0180,6,clif_parse_GuildOpposition,2);
  182. packet(0x0182,106);
  183. parseable_packet(0x0183,10,clif_parse_GuildDelAlliance,2,6);
  184. packet(0x0185,34);
  185. packet(0x0187,6);
  186. parseable_packet(0x018a,4,clif_parse_QuitGame,2);
  187. packet(0x018b,4);
  188. parseable_packet( HEADER_CZ_REQMAKINGITEM, sizeof( struct PACKET_CZ_REQMAKINGITEM ), clif_parse_ProduceMix, 0 );
  189. parseable_packet(0x0190,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
  190. parseable_packet(0x0193,6,clif_parse_SolveCharName,2);
  191. packet(0x0196,9);
  192. parseable_packet( HEADER_CZ_RESET, sizeof( PACKET_CZ_RESET ), clif_parse_ResetChar, 0 );
  193. parseable_packet(0x0198,8,clif_parse_GMChangeMapType,2,4,6);
  194. packet(0x0199,4);
  195. packet(0x019a,14);
  196. parseable_packet( HEADER_CZ_LOCALBROADCAST, -1, clif_parse_LocalBroadcast, 0 );
  197. parseable_packet(0x019d,6,clif_parse_GMHide,2);
  198. parseable_packet(0x019f,6,clif_parse_CatchPet,2);
  199. parseable_packet(0x01a1,3,clif_parse_PetMenu,2);
  200. packet(0x01a3,5);
  201. parseable_packet(0x01a5,26,clif_parse_ChangePetName,2);
  202. packet(0x01a6,-1);
  203. parseable_packet(0x01a7,4,clif_parse_SelectEgg,2);
  204. packet(0x01a8,4);
  205. parseable_packet(0x01a9,6,clif_parse_SendEmotion,2);
  206. packet(0x01ac,6);
  207. packet(0x01ad,-1);
  208. parseable_packet( HEADER_CZ_REQ_MAKINGARROW, sizeof( PACKET_CZ_REQ_MAKINGARROW ), clif_parse_SelectArrow, 0 );
  209. parseable_packet(0x01af,4,clif_parse_ChangeCart,2);
  210. packet(0x01b0,11);
  211. packet(0x01b1,7);
  212. parseable_packet(0x01b2,-1,clif_parse_OpenVending,2,4,84,85);
  213. packet(0x01b5,18);
  214. packet(0x01b6,114);
  215. packet(0x01b7,6);
  216. packet(0x01b8,3);
  217. parseable_packet(0x01ba,26,clif_parse_GMShift,2);
  218. parseable_packet(0x01bb,26,clif_parse_GMShift,2);
  219. parseable_packet(0x01bc,26,clif_parse_GMRecall,2);
  220. parseable_packet(0x01bd,26,clif_parse_GMRecall,2);
  221. packet(0x01be,2);
  222. packet(0x01bf,3);
  223. packet(0x01c0,2);
  224. packet(0x01c1,14);
  225. packet(0x01c2,10);
  226. packet(0x01c3,-1);
  227. packet(0x01c6,4);
  228. packet(0x01c7,2);
  229. packet(0x01cb,9);
  230. packet(0x01cc,9);
  231. parseable_packet( HEADER_CZ_SELECTAUTOSPELL, sizeof( PACKET_CZ_SELECTAUTOSPELL ), clif_parse_AutoSpell, 0 );
  232. packet(0x01cf,28);
  233. packet(0x01d0,8);
  234. parseable_packet( HEADER_CZ_INPUT_EDITDLGSTR, -1, clif_parse_NpcStringInput, 0 );
  235. packet(0x01d7,11);
  236. packet(0x01d8,54);
  237. packet(0x01d9,53);
  238. packet(0x01da,60);
  239. packet(0x01db,2);
  240. packet(0x01dc,-1);
  241. packet(0x01dd,47);
  242. packet(0x01de,33);
  243. parseable_packet(0x01df,6,clif_parse_GMReqAccountName,2);
  244. packet(0x01e0,30);
  245. packet(0x01e1,8);
  246. packet(0x01e2,34);
  247. packet(0x01e3,14);
  248. packet(0x01e4,2);
  249. packet(0x01e5,6);
  250. packet(0x01e6,26);
  251. parseable_packet(0x01e7,2,clif_parse_NoviceDoriDori,0);
  252. parseable_packet( HEADER_CZ_MAKE_GROUP2, sizeof( PACKET_CZ_MAKE_GROUP2 ), clif_parse_CreateParty2, 0 );
  253. packet(0x01ea,6);
  254. packet(0x01ec,26);
  255. parseable_packet(0x01ed,2,clif_parse_NoviceExplosionSpirits,0);
  256. packet(0x01f0,-1);
  257. packet(0x01f1,-1);
  258. packet(0x01f2,20);
  259. packet(0x01f3,10);
  260. packet(0x01f6,34);
  261. parseable_packet( HEADER_CZ_JOIN_BABY, sizeof( PACKET_CZ_JOIN_BABY ), clif_parse_Adopt_reply, 0 );
  262. packet(0x01f8,2);
  263. parseable_packet(0x01f9,6,clif_parse_Adopt_request,2);
  264. packet(0x01fa,48);
  265. packet(0x01fb,56);
  266. packet(0x01fc,-1);
  267. parseable_packet( HEADER_CZ_REQ_ITEMREPAIR1, sizeof( struct PACKET_CZ_REQ_ITEMREPAIR1 ), clif_parse_RepairItem, 0 );
  268. packet(0x0200,26);
  269. packet(0x0201,-1);
  270. parseable_packet(0x0202,26,clif_parse_FriendsListAdd,2);
  271. parseable_packet(0x0203,10,clif_parse_FriendsListRemove,2,6);
  272. packet(0x0204,18);
  273. packet(0x0205,26);
  274. packet(0x0207,34);
  275. parseable_packet(0x0208,11,clif_parse_FriendsListReply,2,6,10);
  276. packet(0x0209,36);
  277. packet(0x020a,10);
  278. packet(0x020d,-1);
  279. packet(0x8b3,-1);
  280. // 2004-07-05aSakexe
  281. #if PACKETVER >= 20040705
  282. parseable_packet(0x0072,22,clif_parse_WantToConnection,5,9,13,17,21);
  283. parseable_packet(0x0085,8,clif_parse_WalkToXY,5);
  284. parseable_packet(0x00a7,13,clif_parse_UseItem,5,9);
  285. parseable_packet(0x0113,15,clif_parse_UseSkillToId,4,9,11);
  286. parseable_packet(0x0116,15,clif_parse_UseSkillToPos,4,9,11,13);
  287. parseable_packet(0x0190,95,clif_parse_UseSkillToPosMoreInfo,4,9,11,13,15);
  288. parseable_packet(0x0208,14,clif_parse_FriendsListReply,2,6,10);
  289. packet(0x020e,24);
  290. #endif
  291. // 2004-07-13aSakexe
  292. #if PACKETVER >= 20040713
  293. parseable_packet(0x0072,39,clif_parse_WantToConnection,12,22,30,34,38);
  294. parseable_packet(0x0085,9,clif_parse_WalkToXY,6);
  295. parseable_packet(0x009b,13,clif_parse_ChangeDir,5,12);
  296. parseable_packet(0x009f,10,clif_parse_TakeItem,6);
  297. parseable_packet(0x00a7,17,clif_parse_UseItem,6,13);
  298. parseable_packet(0x0113,19,clif_parse_UseSkillToId,7,9,15);
  299. parseable_packet(0x0116,19,clif_parse_UseSkillToPos,7,9,15,17);
  300. parseable_packet(0x0190,99,clif_parse_UseSkillToPosMoreInfo,7,9,15,17,19);
  301. #endif
  302. // 2004-07-26aSakexe
  303. #if PACKETVER >= 20040726
  304. parseable_packet(0x0072,14,clif_parse_DropItem,5,12);
  305. parseable_packet(0x007e,33,clif_parse_WantToConnection,12,18,24,28,32);
  306. parseable_packet(0x0085,20,clif_parse_UseSkillToId,7,12,16);
  307. parseable_packet(0x0089,15,clif_parse_GetCharNameRequest,11);
  308. parseable_packet(0x008c,23,clif_parse_UseSkillToPos,3,6,17,21);
  309. parseable_packet(0x0094,10,clif_parse_TakeItem,6);
  310. parseable_packet(0x009b,6,clif_parse_WalkToXY,3);
  311. parseable_packet(0x009f,13,clif_parse_ChangeDir,5,12);
  312. parseable_packet(0x00a2,103,clif_parse_UseSkillToPosMoreInfo,3,6,17,21,23);
  313. parseable_packet(0x00a7,12,clif_parse_SolveCharName,8);
  314. parseable_packet(0x00f3,-1,clif_parse_GlobalMessage,2,4);
  315. parseable_packet(0x00f5,17,clif_parse_UseItem,6,12);
  316. parseable_packet(0x00f7,10,clif_parse_TickSend,6);
  317. parseable_packet(0x0113,16,clif_parse_MoveToKafra,5,12);
  318. parseable_packet(0x0116,2,clif_parse_CloseKafra,0);
  319. parseable_packet(0x0190,26,clif_parse_MoveFromKafra,10,22);
  320. parseable_packet(0x0193,9,clif_parse_ActionRequest,3,8);
  321. #endif
  322. // 2004-08-09aSakexe
  323. #if PACKETVER >= 20040809
  324. parseable_packet(0x0072,17,clif_parse_DropItem,8,15);
  325. parseable_packet(0x007e,37,clif_parse_WantToConnection,9,21,28,32,36);
  326. parseable_packet(0x0085,26,clif_parse_UseSkillToId,11,18,22);
  327. parseable_packet(0x0089,12,clif_parse_GetCharNameRequest,8);
  328. parseable_packet(0x008c,40,clif_parse_UseSkillToPos,5,15,29,38);
  329. parseable_packet(0x0094,13,clif_parse_TakeItem,9);
  330. parseable_packet(0x009b,15,clif_parse_WalkToXY,12);
  331. parseable_packet(0x009f,12,clif_parse_ChangeDir,7,11);
  332. parseable_packet(0x00a2,120,clif_parse_UseSkillToPosMoreInfo,5,15,29,38,40);
  333. parseable_packet(0x00a7,11,clif_parse_SolveCharName,7);
  334. parseable_packet(0x00f5,24,clif_parse_UseItem,9,20);
  335. parseable_packet(0x00f7,13,clif_parse_TickSend,9);
  336. parseable_packet(0x0113,23,clif_parse_MoveToKafra,5,19);
  337. parseable_packet(0x0190,26,clif_parse_MoveFromKafra,11,22);
  338. parseable_packet(0x0193,18,clif_parse_ActionRequest,7,17);
  339. #endif
  340. // 2004-08-16aSakexe
  341. #if PACKETVER >= 20040816
  342. parseable_packet(0x0212,26,clif_parse_GMRc,2);
  343. parseable_packet(0x0213,26,clif_parse_Check,2);
  344. packet(0x0214,42);
  345. #endif
  346. // 2004-08-17aSakexe
  347. #if PACKETVER >= 20040817
  348. parseable_packet(0x020f,10,clif_parse_PVPInfo,2,6);
  349. packet(0x0210,22);
  350. #endif
  351. // 2004-09-06aSakexe
  352. #if PACKETVER >= 20040906
  353. parseable_packet(0x0072,20,clif_parse_UseItem,9,20);
  354. parseable_packet(0x007e,19,clif_parse_MoveToKafra,3,15);
  355. parseable_packet(0x0085,23,clif_parse_ActionRequest,9,22);
  356. parseable_packet(0x0089,9,clif_parse_WalkToXY,6);
  357. parseable_packet(0x008c,105,clif_parse_UseSkillToPosMoreInfo,10,14,18,23,25);
  358. parseable_packet(0x0094,17,clif_parse_DropItem,6,15);
  359. parseable_packet(0x009b,14,clif_parse_GetCharNameRequest,10);
  360. parseable_packet(0x009f,-1,clif_parse_GlobalMessage,2,4);
  361. parseable_packet(0x00a2,14,clif_parse_SolveCharName,10);
  362. parseable_packet(0x00a7,25,clif_parse_UseSkillToPos,10,14,18,23);
  363. parseable_packet(0x00f3,10,clif_parse_ChangeDir,4,9);
  364. parseable_packet(0x00f5,34,clif_parse_WantToConnection,7,15,25,29,33);
  365. parseable_packet(0x00f7,2,clif_parse_CloseKafra,0);
  366. parseable_packet(0x0113,11,clif_parse_TakeItem,7);
  367. parseable_packet(0x0116,11,clif_parse_TickSend,7);
  368. parseable_packet(0x0190,22,clif_parse_UseSkillToId,9,15,18);
  369. parseable_packet(0x0193,17,clif_parse_MoveFromKafra,3,13);
  370. #endif
  371. // 2004-09-20aSakexe
  372. #if PACKETVER >= 20040920
  373. parseable_packet(0x0072,18,clif_parse_UseItem,10,14);
  374. parseable_packet(0x007e,25,clif_parse_MoveToKafra,6,21);
  375. parseable_packet(0x0085,9,clif_parse_ActionRequest,3,8);
  376. parseable_packet(0x0089,14,clif_parse_WalkToXY,11);
  377. parseable_packet(0x008c,109,clif_parse_UseSkillToPosMoreInfo,16,20,23,27,29);
  378. parseable_packet(0x0094,19,clif_parse_DropItem,12,17);
  379. parseable_packet(0x009b,10,clif_parse_GetCharNameRequest,6);
  380. parseable_packet(0x00a2,10,clif_parse_SolveCharName,6);
  381. parseable_packet(0x00a7,29,clif_parse_UseSkillToPos,6,20,23,27);
  382. parseable_packet(0x00f3,18,clif_parse_ChangeDir,8,17);
  383. parseable_packet(0x00f5,32,clif_parse_WantToConnection,10,17,23,27,31);
  384. parseable_packet(0x0113,14,clif_parse_TakeItem,10);
  385. parseable_packet(0x0116,14,clif_parse_TickSend,10);
  386. parseable_packet(0x0190,14,clif_parse_UseSkillToId,4,7,10);
  387. parseable_packet(0x0193,12,clif_parse_MoveFromKafra,4,8);
  388. #endif
  389. // 2004-10-05aSakexe
  390. #if PACKETVER >= 20041005
  391. parseable_packet(0x0072,17,clif_parse_UseItem,6,13);
  392. parseable_packet(0x007e,16,clif_parse_MoveToKafra,5,12);
  393. parseable_packet(0x0089,6,clif_parse_WalkToXY,3);
  394. parseable_packet(0x008c,103,clif_parse_UseSkillToPosMoreInfo,2,6,17,21,23);
  395. parseable_packet(0x0094,14,clif_parse_DropItem,5,12);
  396. parseable_packet(0x009b,15,clif_parse_GetCharNameRequest,11);
  397. parseable_packet(0x00a2,12,clif_parse_SolveCharName,8);
  398. parseable_packet(0x00a7,23,clif_parse_UseSkillToPos,3,6,17,21);
  399. parseable_packet(0x00f3,13,clif_parse_ChangeDir,5,12);
  400. parseable_packet(0x00f5,33,clif_parse_WantToConnection,12,18,24,28,32);
  401. parseable_packet(0x0113,10,clif_parse_TakeItem,6);
  402. parseable_packet(0x0116,10,clif_parse_TickSend,6);
  403. parseable_packet(0x0190,20,clif_parse_UseSkillToId,7,12,16);
  404. parseable_packet(0x0193,26,clif_parse_MoveFromKafra,10,22);
  405. #endif
  406. // 2004-10-25aSakexe
  407. #if PACKETVER >= 20041025
  408. parseable_packet(0x0072,13,clif_parse_UseItem,5,9);
  409. parseable_packet(0x007e,13,clif_parse_MoveToKafra,6,9);
  410. parseable_packet(0x0085,15,clif_parse_ActionRequest,4,14);
  411. parseable_packet(0x008c,108,clif_parse_UseSkillToPosMoreInfo,6,9,23,26,28);
  412. parseable_packet(0x0094,12,clif_parse_DropItem,6,10);
  413. parseable_packet(0x009b,10,clif_parse_GetCharNameRequest,6);
  414. parseable_packet(0x00a2,16,clif_parse_SolveCharName,12);
  415. parseable_packet(0x00a7,28,clif_parse_UseSkillToPos,6,9,23,26);
  416. parseable_packet(0x00f3,15,clif_parse_ChangeDir,6,14);
  417. parseable_packet(0x00f5,29,clif_parse_WantToConnection,5,14,20,24,28);
  418. parseable_packet(0x0113,9,clif_parse_TakeItem,5);
  419. parseable_packet(0x0116,9,clif_parse_TickSend,5);
  420. parseable_packet(0x0190,26,clif_parse_UseSkillToId,4,10,22);
  421. parseable_packet(0x0193,22,clif_parse_MoveFromKafra,12,18);
  422. #endif
  423. // 2004-11-01aSakexe
  424. #if PACKETVER >= 20041101
  425. packet(0x0084,-1);
  426. packet(0x0215,6);
  427. #endif
  428. // 2004-11-08aSakexe
  429. #if PACKETVER >= 20041108
  430. packet(0x0084,2);
  431. packet(0x0216,6);
  432. #endif
  433. #if PACKETVER_MAIN_NUM >= 20120503 || PACKETVER_RE_NUM >= 20120502
  434. parseable_packet( HEADER_CZ_REQ_RANKING, sizeof( PACKET_CZ_REQ_RANKING ), clif_parse_ranklist, 0 );
  435. #elif PACKETVER >= 20041108
  436. parseable_packet( HEADER_CZ_BLACKSMITH_RANK, sizeof( PACKET_CZ_BLACKSMITH_RANK ), clif_parse_ranklist_blacksmith, 0 );
  437. parseable_packet( HEADER_CZ_ALCHEMIST_RANK, sizeof( PACKET_CZ_ALCHEMIST_RANK ), clif_parse_ranklist_alchemist, 0 );
  438. #if PACKETVER >= 20050328
  439. parseable_packet( HEADER_CZ_TAEKWON_RANK, sizeof( PACKET_CZ_TAEKWON_RANK ), clif_parse_ranklist_taekwon, 0 );
  440. #endif
  441. #if PACKETVER >= 20050530
  442. parseable_packet( HEADER_CZ_KILLER_RANK, sizeof( PACKET_CZ_KILLER_RANK ), clif_parse_ranklist_killer, 0 );
  443. #endif
  444. #endif
  445. // 2004-11-15aSakexe
  446. #if PACKETVER >= 20041115
  447. parseable_packet( HEADER_CZ_LESSEFFECT, sizeof( PACKET_CZ_LESSEFFECT ), clif_parse_LessEffect, 0 );
  448. #endif
  449. // 2004-11-29aSakexe
  450. #if PACKETVER >= 20041129
  451. parseable_packet(0x0072,22,clif_parse_UseSkillToId,8,12,18);
  452. parseable_packet(0x007e,30,clif_parse_UseSkillToPos,4,9,22,28);
  453. parseable_packet(0x0085,-1,clif_parse_GlobalMessage,2,4);
  454. parseable_packet(0x0089,7,clif_parse_TickSend,3);
  455. parseable_packet(0x008c,13,clif_parse_GetCharNameRequest,9);
  456. parseable_packet(0x0094,14,clif_parse_MoveToKafra,4,10);
  457. parseable_packet(0x009b,2,clif_parse_CloseKafra,0);
  458. parseable_packet(0x009f,18,clif_parse_ActionRequest,6,17);
  459. parseable_packet(0x00a2,7,clif_parse_TakeItem,3);
  460. parseable_packet(0x00a7,7,clif_parse_WalkToXY,4);
  461. parseable_packet(0x00f3,8,clif_parse_ChangeDir,3,7);
  462. parseable_packet(0x00f5,29,clif_parse_WantToConnection,3,10,20,24,28);
  463. parseable_packet(0x00f7,14,clif_parse_SolveCharName,10);
  464. parseable_packet(0x0113,110,clif_parse_UseSkillToPosMoreInfo,4,9,22,28,30);
  465. parseable_packet(0x0116,12,clif_parse_DropItem,4,10);
  466. parseable_packet(0x0190,15,clif_parse_UseItem,3,11);
  467. parseable_packet(0x0193,21,clif_parse_MoveFromKafra,4,17);
  468. packet(0x0221,-1);
  469. parseable_packet(0x0222,6,clif_parse_WeaponRefine,2);
  470. #endif
  471. // 2004-12-13aSakexe
  472. #if PACKETVER >= 20041213
  473. //skipped: many packets being set to -1
  474. packet(0x0066,3);
  475. packet(0x0070,3);
  476. packet(0x01ca,3);
  477. packet(0x021e,6);
  478. packet(0x021f,66);
  479. packet(0x0220,10);
  480. #endif
  481. // 2005-01-10bSakexe
  482. #if PACKETVER >= 20050110
  483. parseable_packet(0x0072,26,clif_parse_UseSkillToId,8,16,22);
  484. parseable_packet(0x007e,114,clif_parse_UseSkillToPosMoreInfo,10,18,22,32,34);
  485. parseable_packet(0x0085,23,clif_parse_ChangeDir,12,22);
  486. parseable_packet(0x0089,9,clif_parse_TickSend,5);
  487. parseable_packet(0x008c,8,clif_parse_GetCharNameRequest,4);
  488. parseable_packet(0x0094,20,clif_parse_MoveToKafra,10,16);
  489. parseable_packet(0x009b,32,clif_parse_WantToConnection,3,12,23,27,31);
  490. parseable_packet(0x009f,17,clif_parse_UseItem,5,13);
  491. parseable_packet(0x00a2,11,clif_parse_SolveCharName,7);
  492. parseable_packet(0x00a7,13,clif_parse_WalkToXY,10);
  493. parseable_packet(0x00f3,-1,clif_parse_GlobalMessage,2,4);
  494. parseable_packet(0x00f5,9,clif_parse_TakeItem,5);
  495. parseable_packet(0x00f7,21,clif_parse_MoveFromKafra,11,17);
  496. parseable_packet(0x0113,34,clif_parse_UseSkillToPos,10,18,22,32);
  497. parseable_packet(0x0116,20,clif_parse_DropItem,15,18);
  498. parseable_packet(0x0190,20,clif_parse_ActionRequest,9,19);
  499. parseable_packet(0x0193,2,clif_parse_CloseKafra,0);
  500. #endif
  501. // 2005-04-04aSakexe
  502. #if PACKETVER >= 20050404
  503. packet(0x0227,18);
  504. packet(0x0228,18);
  505. #endif
  506. // 2005-04-11aSakexe
  507. #if PACKETVER >= 20050411
  508. packet(0x0229,15);
  509. packet(0x022a,58);
  510. packet(0x022b,57);
  511. packet(0x022c,64);
  512. #endif
  513. // 2005-04-25aSakexe
  514. #if PACKETVER >= 20050425
  515. parseable_packet(0x022d,5,clif_parse_HomMenu,2,4);
  516. parseable_packet( HEADER_CZ_REQUEST_MOVENPC, sizeof( PACKET_CZ_REQUEST_MOVENPC ), clif_parse_HomMoveTo, 0 );
  517. parseable_packet(0x0233,11,clif_parse_HomAttack,2,6,10);
  518. parseable_packet(0x0234,6,clif_parse_HomMoveToMaster,2);
  519. #endif
  520. // 2005-05-09aSakexe
  521. #if PACKETVER >= 20050509
  522. parseable_packet(0x0072,25,clif_parse_UseSkillToId,6,10,21);
  523. parseable_packet(0x007e,102,clif_parse_UseSkillToPosMoreInfo,5,9,12,20,22);
  524. parseable_packet(0x0085,11,clif_parse_ChangeDir,7,10);
  525. parseable_packet(0x0089,8,clif_parse_TickSend,4);
  526. parseable_packet(0x008c,11,clif_parse_GetCharNameRequest,7);
  527. parseable_packet(0x0094,14,clif_parse_MoveToKafra,7,10);
  528. parseable_packet(0x009b,26,clif_parse_WantToConnection,4,9,17,21,25);
  529. parseable_packet(0x009f,14,clif_parse_UseItem,4,10);
  530. parseable_packet(0x00a2,15,clif_parse_SolveCharName,11);
  531. parseable_packet(0x00a7,8,clif_parse_WalkToXY,5);
  532. parseable_packet(0x00f5,8,clif_parse_TakeItem,4);
  533. parseable_packet(0x00f7,22,clif_parse_MoveFromKafra,14,18);
  534. parseable_packet(0x0113,22,clif_parse_UseSkillToPos,5,9,12,20);
  535. parseable_packet(0x0116,10,clif_parse_DropItem,5,8);
  536. parseable_packet(0x0190,19,clif_parse_ActionRequest,5,18);
  537. #endif
  538. // 2005-05-23aSakexe
  539. #if PACKETVER >= 20050523
  540. packet(0x022e,69);
  541. #endif
  542. // 2005-05-30aSakexe
  543. #if PACKETVER >= 20050530
  544. packet(0x022e,71);
  545. #endif
  546. // 2005-05-31aSakexe
  547. #if PACKETVER >= 20050531
  548. packet(0x0216,2);
  549. #endif
  550. // 2005-06-08aSakexe
  551. #if PACKETVER >= 20050608
  552. packet(0x0216,6);
  553. packet(0x022f,5);
  554. parseable_packet(0x0231,26,clif_parse_ChangeHomunculusName,2);
  555. packet(0x023a,4);
  556. parseable_packet(0x023b,36,clif_parse_StoragePassword,2,4,20);
  557. packet(0x023c,6);
  558. #endif
  559. // 2005-06-22aSakexe
  560. #if PACKETVER >= 20050622
  561. packet(0x022e,71);
  562. #endif
  563. // 2005-06-28aSakexe
  564. #if PACKETVER >= 20050628
  565. parseable_packet(0x0072,34,clif_parse_UseSkillToId,6,17,30);
  566. parseable_packet(0x007e,113,clif_parse_UseSkillToPosMoreInfo,12,15,18,31,33);
  567. parseable_packet(0x0085,17,clif_parse_ChangeDir,8,16);
  568. parseable_packet(0x0089,13,clif_parse_TickSend,9);
  569. parseable_packet(0x008c,8,clif_parse_GetCharNameRequest,4);
  570. parseable_packet(0x0094,31,clif_parse_MoveToKafra,16,27);
  571. parseable_packet(0x009b,32,clif_parse_WantToConnection,9,15,23,27,31);
  572. parseable_packet(0x009f,19,clif_parse_UseItem,9,15);
  573. parseable_packet(0x00a2,9,clif_parse_SolveCharName,5);
  574. parseable_packet(0x00a7,11,clif_parse_WalkToXY,8);
  575. parseable_packet(0x00f5,13,clif_parse_TakeItem,9);
  576. parseable_packet(0x00f7,18,clif_parse_MoveFromKafra,11,14);
  577. parseable_packet(0x0113,33,clif_parse_UseSkillToPos,12,15,18,31);
  578. parseable_packet(0x0116,12,clif_parse_DropItem,3,10);
  579. parseable_packet(0x0190,24,clif_parse_ActionRequest,11,23);
  580. packet(0x0216,-1);
  581. packet(0x023d,-1);
  582. packet(0x023e,4);
  583. #endif
  584. // 2005-07-18aSakexe
  585. #if PACKETVER >= 20050718
  586. parseable_packet(0x0072,19,clif_parse_UseSkillToId,5,11,15);
  587. parseable_packet(0x007e,110,clif_parse_UseSkillToPosMoreInfo,9,15,23,28,30);
  588. parseable_packet(0x0085,11,clif_parse_ChangeDir,6,10);
  589. parseable_packet(0x0089,7,clif_parse_TickSend,3);
  590. parseable_packet(0x008c,11,clif_parse_GetCharNameRequest,7);
  591. parseable_packet(0x0094,21,clif_parse_MoveToKafra,12,17);
  592. parseable_packet(0x009b,31,clif_parse_WantToConnection,3,13,22,26,30);
  593. parseable_packet(0x009f,12,clif_parse_UseItem,3,8);
  594. parseable_packet(0x00a2,18,clif_parse_SolveCharName,14);
  595. parseable_packet(0x00a7,15,clif_parse_WalkToXY,12);
  596. parseable_packet(0x00f5,7,clif_parse_TakeItem,3);
  597. parseable_packet(0x00f7,13,clif_parse_MoveFromKafra,5,9);
  598. parseable_packet(0x0113,30,clif_parse_UseSkillToPos,9,15,23,28);
  599. parseable_packet(0x0116,12,clif_parse_DropItem,6,10);
  600. parseable_packet(0x0190,21,clif_parse_ActionRequest,5,20);
  601. packet(0x0216,6);
  602. parseable_packet(0x023f,2,clif_parse_Mail_refreshinbox,0);
  603. packet(0x0240,8);
  604. parseable_packet(0x0241,6,clif_parse_Mail_read,2);
  605. packet(0x0242,-1);
  606. parseable_packet(0x0243,6,clif_parse_Mail_delete,2);
  607. parseable_packet(0x0244,6,clif_parse_Mail_getattach,2);
  608. packet(0x0245,7);
  609. parseable_packet(0x0246,4,clif_parse_Mail_winopen,2);
  610. parseable_packet(0x0247,8,clif_parse_Mail_setattach,2,4);
  611. packet(0x0248,68);
  612. packet(0x0249,3);
  613. packet(0x024a,70);
  614. parseable_packet(0x024b,4,clif_parse_Auction_cancelreg,2);
  615. parseable_packet(0x024c,8,clif_parse_Auction_setitem,2,4);
  616. packet(0x024d,14);
  617. parseable_packet(0x024e,6,clif_parse_Auction_cancel,2);
  618. parseable_packet( HEADER_CZ_AUCTION_BUY, sizeof( PACKET_CZ_AUCTION_BUY ), clif_parse_Auction_bid, 0 );
  619. packet(0x0250,3);
  620. packet(0x0251,2);
  621. packet(0x0252,-1);
  622. #endif
  623. // 2005-07-19bSakexe
  624. #if PACKETVER >= 20050719
  625. parseable_packet(0x0072,34,clif_parse_UseSkillToId,6,17,30);
  626. parseable_packet(0x007e,113,clif_parse_UseSkillToPosMoreInfo,12,15,18,31,33);
  627. parseable_packet(0x0085,17,clif_parse_ChangeDir,8,16);
  628. parseable_packet(0x0089,13,clif_parse_TickSend,9);
  629. parseable_packet(0x008c,8,clif_parse_GetCharNameRequest,4);
  630. parseable_packet(0x0094,31,clif_parse_MoveToKafra,16,27);
  631. parseable_packet(0x009b,32,clif_parse_WantToConnection,9,15,23,27,31);
  632. parseable_packet(0x009f,19,clif_parse_UseItem,9,15);
  633. parseable_packet(0x00a2,9,clif_parse_SolveCharName,5);
  634. parseable_packet(0x00a7,11,clif_parse_WalkToXY,8);
  635. parseable_packet(0x00f5,13,clif_parse_TakeItem,9);
  636. parseable_packet(0x00f7,18,clif_parse_MoveFromKafra,11,14);
  637. parseable_packet(0x0113,33,clif_parse_UseSkillToPos,12,15,18,31);
  638. parseable_packet(0x0116,12,clif_parse_DropItem,3,10);
  639. parseable_packet(0x0190,24,clif_parse_ActionRequest,11,23);
  640. #endif
  641. // 2005-08-01aSakexe
  642. #if PACKETVER >= 20050801
  643. packet(0x0245,3);
  644. packet(0x0251,4);
  645. #endif
  646. // 2005-08-08aSakexe
  647. #if PACKETVER >= 20050808
  648. parseable_packet( HEADER_CZ_AUCTION_ADD, sizeof( PACKET_CZ_AUCTION_ADD ), clif_parse_Auction_register, 0 );
  649. packet(0x024e,4);
  650. #endif
  651. // 2005-08-17aSakexe
  652. #if PACKETVER >= 20050817
  653. packet(0x0253,3);
  654. parseable_packet(0x0254,3,clif_parse_FeelSaveOk,2);
  655. #endif
  656. // 2005-08-29aSakexe
  657. #if PACKETVER >= 20050829
  658. packet(0x0240,-1);
  659. parseable_packet(0x0248,-1,clif_parse_Mail_send,2,4,28,68,69);
  660. packet(0x0255,5);
  661. packet(0x0256,-1);
  662. packet(0x0257,8);
  663. #endif
  664. // 2005-09-12bSakexe
  665. #if PACKETVER >= 20050912
  666. packet(0x0256,5);
  667. packet(0x0258,2);
  668. packet(0x0259,3);
  669. #endif
  670. // 2005-10-10aSakexe
  671. #if PACKETVER >= 20051010
  672. packet(0x020e,32);
  673. parseable_packet( HEADER_CZ_REQ_MAKINGITEM, sizeof( struct PACKET_CZ_REQ_MAKINGITEM ), clif_parse_Cooking, 0 );
  674. #endif
  675. // 2005-10-13aSakexe
  676. #if PACKETVER >= 20051013
  677. packet(0x007a,6);
  678. packet(0x0251,32);
  679. parseable_packet(0x025c,4,clif_parse_Auction_buysell,2);
  680. #endif
  681. // 2005-10-17aSakexe
  682. #if PACKETVER >= 20051017
  683. packet(0x007a,58);
  684. parseable_packet(0x025d,6,clif_parse_Auction_close,2);
  685. packet(0x025e,4);
  686. #endif
  687. // 2005-10-24aSakexe
  688. #if PACKETVER >= 20051024
  689. packet(0x025f,6);
  690. packet(0x0260,6);
  691. #endif
  692. // 2005-11-07aSakexe
  693. #if PACKETVER >= 20051107
  694. parseable_packet(0x024e,6,clif_parse_Auction_cancel,2);
  695. parseable_packet( HEADER_CZ_AUCTION_ITEM_SEARCH, sizeof( PACKET_CZ_AUCTION_ITEM_SEARCH ), clif_parse_Auction_search, 0 );
  696. #endif
  697. // 2006-01-09aSakexe
  698. #if PACKETVER >= 20060109
  699. packet(0x0261,11);
  700. packet(0x0262,11);
  701. packet(0x0263,11);
  702. packet(0x0264,20);
  703. packet(0x0265,20);
  704. packet(0x0266,30);
  705. packet(0x0267,4);
  706. packet(0x0268,4);
  707. packet(0x0269,4);
  708. packet(0x026a,4);
  709. packet(0x026b,4);
  710. packet(0x026c,4);
  711. packet(0x026d,4);
  712. packet(0x026f,2);
  713. packet(0x0270,2);
  714. packet(0x0271,38);
  715. packet(0x0272,44);
  716. #endif
  717. // 2006-01-26aSakexe
  718. #if PACKETVER >= 20060126
  719. packet(0x0271,40);
  720. #endif
  721. // 2006-03-06aSakexe
  722. #if PACKETVER >= 20060306
  723. packet(0x0273,6);
  724. packet(0x0274,8);
  725. #endif
  726. // 2006-03-13aSakexe
  727. #if PACKETVER >= 20060313
  728. parseable_packet(0x0273,30,clif_parse_Mail_return,2,6);
  729. #endif
  730. // 2006-03-27aSakexe
  731. #if PACKETVER >= 20060327
  732. parseable_packet(0x0072,26,clif_parse_UseSkillToId,11,18,22);
  733. parseable_packet(0x007e,120,clif_parse_UseSkillToPosMoreInfo,5,15,29,38,40);
  734. parseable_packet(0x0085,12,clif_parse_ChangeDir,7,11);
  735. //parseable_packet(0x0089,13,clif_parse_TickSend,9);
  736. parseable_packet(0x008c,12,clif_parse_GetCharNameRequest,8);
  737. parseable_packet(0x0094,23,clif_parse_MoveToKafra,5,19);
  738. parseable_packet(0x009b,37,clif_parse_WantToConnection,9,21,28,32,36);
  739. parseable_packet(0x009f,24,clif_parse_UseItem,9,20);
  740. parseable_packet(0x00a2,11,clif_parse_SolveCharName,7);
  741. parseable_packet(0x00a7,15,clif_parse_WalkToXY,12);
  742. parseable_packet(0x00f5,13,clif_parse_TakeItem,9);
  743. parseable_packet(0x00f7,26,clif_parse_MoveFromKafra,11,22);
  744. parseable_packet(0x0113,40,clif_parse_UseSkillToPos,5,15,29,38);
  745. parseable_packet(0x0116,17,clif_parse_DropItem,8,15);
  746. parseable_packet(0x0190,18,clif_parse_ActionRequest,7,17);
  747. #endif
  748. // 2006-10-23aSakexe
  749. #if PACKETVER >= 20061023
  750. packet(0x006d,110);
  751. #endif
  752. //2006-04-24aSakexe to 2007-01-02aSakexe
  753. #if PACKETVER >= 20060424
  754. packet(0x023e,8);
  755. packet(0x0277,84);
  756. packet(0x0278,2);
  757. packet(0x0279,2);
  758. packet(0x027a,-1);
  759. packet(0x027b,14);
  760. packet(0x027c,60);
  761. packet(0x027d,62);
  762. packet(0x027e,-1);
  763. packet(0x027f,8);
  764. packet(0x0280,12);
  765. packet(0x0281,4);
  766. packet(0x0282,284);
  767. packet(0x0283,6);
  768. packet(0x0284,14);
  769. packet(0x0285,6);
  770. packet(0x0286,4);
  771. packet(0x0287,-1);
  772. packet(0x0288,6);
  773. packet(0x0289,8);
  774. packet(0x028b,-1);
  775. packet(0x028c,46);
  776. packet(0x028d,34);
  777. packet(0x028e,4);
  778. packet(0x028f,6);
  779. packet(0x0290,4);
  780. packet(0x0291,4);
  781. parseable_packet(0x0292,2,clif_parse_AutoRevive,0);
  782. packet(0x0293,70);
  783. packet(0x0294,10);
  784. packet(0x029c,66);
  785. packet(0x029d,-1);
  786. packet(0x029e,11);
  787. parseable_packet(0x029f,3,clif_parse_mercenary_action,2);
  788. packet(0x02a0,-1);
  789. packet(0x02a1,-1);
  790. packet(0x02a2,8);
  791. #endif
  792. // 2007-01-08aSakexe
  793. #if PACKETVER >= 20070108
  794. parseable_packet(0x0072,30,clif_parse_UseSkillToId,10,14,26);
  795. parseable_packet(0x007e,120,clif_parse_UseSkillToPosMoreInfo,10,19,23,38,40);
  796. parseable_packet(0x0085,14,clif_parse_ChangeDir,10,13);
  797. parseable_packet(0x0089,11,clif_parse_TickSend,7);
  798. parseable_packet(0x008c,17,clif_parse_GetCharNameRequest,13);
  799. parseable_packet(0x0094,17,clif_parse_MoveToKafra,4,13);
  800. parseable_packet(0x009b,35,clif_parse_WantToConnection,7,21,26,30,34);
  801. parseable_packet(0x009f,21,clif_parse_UseItem,7,17);
  802. parseable_packet(0x00a2,10,clif_parse_SolveCharName,6);
  803. parseable_packet(0x00a7,8,clif_parse_WalkToXY,5);
  804. parseable_packet(0x00f5,11,clif_parse_TakeItem,7);
  805. parseable_packet(0x00f7,15,clif_parse_MoveFromKafra,3,11);
  806. parseable_packet(0x0113,40,clif_parse_UseSkillToPos,10,19,23,38);
  807. parseable_packet(0x0116,19,clif_parse_DropItem,11,17);
  808. parseable_packet(0x0190,10,clif_parse_ActionRequest,4,9);
  809. #endif
  810. // 2007-01-22aSakexe
  811. #if PACKETVER >= 20070122
  812. packet(0x02a3,18);
  813. packet(0x02a4,2);
  814. #endif
  815. // 2007-01-29aSakexe
  816. #if PACKETVER >= 20070129
  817. packet(0x029b,72);
  818. packet(0x02a3,-1);
  819. packet(0x02a4,-1);
  820. packet(0x02a5,8);
  821. #endif
  822. // 2007-02-05aSakexe
  823. #if PACKETVER >= 20070205
  824. packet(0x02aa,4);
  825. packet(0x02ab,36);
  826. packet(0x02ac,6);
  827. #endif
  828. // 2007-02-12aSakexe
  829. #if PACKETVER >= 20070212
  830. parseable_packet(0x0072,25,clif_parse_UseSkillToId,6,10,21);
  831. parseable_packet(0x007e,102,clif_parse_UseSkillToPosMoreInfo,5,9,12,20,22);
  832. parseable_packet(0x0085,11,clif_parse_ChangeDir,7,10);
  833. parseable_packet(0x0089,8,clif_parse_TickSend,4);
  834. parseable_packet(0x008c,11,clif_parse_GetCharNameRequest,7);
  835. parseable_packet(0x0094,14,clif_parse_MoveToKafra,7,10);
  836. parseable_packet(0x009b,26,clif_parse_WantToConnection,4,9,17,21,25);
  837. parseable_packet(0x009f,14,clif_parse_UseItem,4,10);
  838. parseable_packet(0x00a2,15,clif_parse_SolveCharName,11);
  839. //parseable_packet(0x00a7,8,clif_parse_WalkToXY,5);
  840. parseable_packet(0x00f5,8,clif_parse_TakeItem,4);
  841. parseable_packet(0x00f7,22,clif_parse_MoveFromKafra,14,18);
  842. parseable_packet(0x0113,22,clif_parse_UseSkillToPos,5,9,12,20);
  843. parseable_packet(0x0116,10,clif_parse_DropItem,5,8);
  844. parseable_packet(0x0190,19,clif_parse_ActionRequest,5,18);
  845. #endif
  846. // 2007-02-27aSakexe to 2007-10-02aSakexe
  847. #if PACKETVER >= 20070227
  848. parseable_packet(0x0288,10,clif_parse_npccashshop_buy,2,4,6);
  849. packet(0x0289,12);
  850. packet(0x02a6,22);
  851. packet(0x02a7,22);
  852. packet(0x02a8,162);
  853. packet(0x02a9,58);
  854. packet(0x02ad,8);
  855. packet(0x02b0,85);
  856. packet(0x02b1,-1);
  857. packet(0x02b2,-1);
  858. packet(0x02b3,107);
  859. packet(0x02b4,6);
  860. packet(0x02b5,-1);
  861. packet(0x02b7,7);
  862. packet(0x02b9,191);
  863. parseable_packet(0x02ba,11,clif_parse_Hotkey,2,4,5,9);
  864. packet(0x02bc,6);
  865. packet(0x02bf,10);
  866. packet(0x02c0,2);
  867. packet(0x02c1,-1);
  868. packet(0x02c2,-1);
  869. parseable_packet( HEADER_CZ_PARTY_JOIN_REQ, sizeof( PACKET_CZ_PARTY_JOIN_REQ ), clif_parse_PartyInvite2, 0 );
  870. packet(0x02c5,30);
  871. parseable_packet( HEADER_CZ_PARTY_JOIN_REQ_ACK, sizeof( PACKET_CZ_PARTY_JOIN_REQ_ACK ), clif_parse_ReplyPartyInvite2, 0 );
  872. parseable_packet( HEADER_CZ_PARTY_CONFIG, sizeof( PACKET_CZ_PARTY_CONFIG ), clif_parse_PartyTick, 0 );
  873. packet(0x02ca,3);
  874. packet(0x02cb,20);
  875. packet(0x02cc,4);
  876. packet(0x02cd,26);
  877. packet(0x02ce,10);
  878. parseable_packet(0x02cf,6,clif_parse_MemorialDungeonCommand,2);
  879. packet(0x02d5,2);
  880. parseable_packet(0x02d6,6,clif_parse_ViewPlayerEquip,2);
  881. parseable_packet(0x02d8,10,clif_parse_configuration,2,6);
  882. packet(0x02d9,10);
  883. parseable_packet(0x02db,-1,clif_parse_BattleChat,2,4);
  884. packet(0x02dc,-1);
  885. packet(0x02dd,32);
  886. packet(0x02de,6);
  887. packet(0x02df,36);
  888. packet(0x02e0,34);
  889. #endif
  890. #if PACKETVER >= 20070622
  891. parseable_packet( HEADER_CZ_ACTIVE_QUEST, sizeof( PACKET_CZ_ACTIVE_QUEST ), clif_parse_questStateAck, 0 );
  892. #endif
  893. // 2007-10-23aSakexe
  894. #if PACKETVER >= 20071023
  895. packet(0x02cb,65);
  896. packet(0x02cd,71);
  897. #endif
  898. // 2007-11-06aSakexe
  899. #if PACKETVER >= 20071106
  900. packet(0x007c,42);
  901. packet(0x022c,65);
  902. packet(0x029b,80);
  903. #endif
  904. // 2007-11-20aSakexe
  905. #if PACKETVER >= 20071120
  906. packet(0x02e2,14);
  907. packet(0x02e3,25);
  908. packet(0x02e4,8);
  909. packet(0x02e5,8);
  910. packet(0x02e6,6);
  911. #endif
  912. // 2007-11-27aSakexe
  913. #if PACKETVER >= 20071127
  914. packet(0x02e7,-1);
  915. #endif
  916. // 2008-01-02aSakexe
  917. #if PACKETVER >= 20080102
  918. parseable_packet(0x01df,6,clif_parse_GMReqAccountName,2);
  919. packet(0x02ec,67);
  920. packet(0x02ed,59);
  921. packet(0x02ee,60);
  922. packet(0x02ef,8);
  923. #endif
  924. // 2008-03-18aSakexe
  925. #if PACKETVER >= 20080318
  926. packet(0x02bf,-1);
  927. packet(0x02c0,-1);
  928. packet(0x02f0,10);
  929. parseable_packet(0x02f1,2,clif_parse_progressbar,0);
  930. packet(0x02f2,2);
  931. #endif
  932. // 2008-03-25bSakexe
  933. #if PACKETVER >= 20080325
  934. packet(0x02f3,-1);
  935. packet(0x02f4,-1);
  936. packet(0x02f5,-1);
  937. packet(0x02f6,-1);
  938. packet(0x02f7,-1);
  939. packet(0x02f8,-1);
  940. packet(0x02f9,-1);
  941. packet(0x02fa,-1);
  942. packet(0x02fb,-1);
  943. packet(0x02fc,-1);
  944. packet(0x02fd,-1);
  945. packet(0x02fe,-1);
  946. packet(0x02ff,-1);
  947. packet(0x0300,-1);
  948. #endif
  949. // 2008-04-01aSakexe
  950. #if PACKETVER >= 20080401
  951. packet(0x0301,-1);
  952. packet(0x0302,-1);
  953. packet(0x0303,-1);
  954. packet(0x0304,-1);
  955. packet(0x0305,-1);
  956. packet(0x0306,-1);
  957. packet(0x0307,-1);
  958. packet(0x0308,-1);
  959. packet(0x0309,-1);
  960. packet(0x030a,-1);
  961. packet(0x030b,-1);
  962. packet(0x030c,-1);
  963. packet(0x030d,-1);
  964. packet(0x030e,-1);
  965. packet(0x030f,-1);
  966. packet(0x0310,-1);
  967. packet(0x0311,-1);
  968. packet(0x0312,-1);
  969. packet(0x0313,-1);
  970. packet(0x0314,-1);
  971. packet(0x0315,-1);
  972. packet(0x0316,-1);
  973. packet(0x0317,-1);
  974. packet(0x0318,-1);
  975. packet(0x0319,-1);
  976. packet(0x031a,-1);
  977. packet(0x031b,-1);
  978. packet(0x031c,-1);
  979. packet(0x031d,-1);
  980. packet(0x031e,-1);
  981. packet(0x031f,-1);
  982. packet(0x0320,-1);
  983. packet(0x0321,-1);
  984. packet(0x0322,-1);
  985. packet(0x0323,-1);
  986. packet(0x0324,-1);
  987. packet(0x0325,-1);
  988. packet(0x0326,-1);
  989. packet(0x0327,-1);
  990. packet(0x0328,-1);
  991. packet(0x0329,-1);
  992. packet(0x032a,-1);
  993. packet(0x032b,-1);
  994. packet(0x032c,-1);
  995. packet(0x032d,-1);
  996. packet(0x032e,-1);
  997. packet(0x032f,-1);
  998. packet(0x0330,-1);
  999. packet(0x0331,-1);
  1000. packet(0x0332,-1);
  1001. packet(0x0333,-1);
  1002. packet(0x0334,-1);
  1003. packet(0x0335,-1);
  1004. packet(0x0336,-1);
  1005. packet(0x0337,-1);
  1006. packet(0x0338,-1);
  1007. packet(0x0339,-1);
  1008. packet(0x033a,-1);
  1009. packet(0x033b,-1);
  1010. packet(0x033c,-1);
  1011. packet(0x033d,-1);
  1012. packet(0x033e,-1);
  1013. packet(0x033f,-1);
  1014. packet(0x0340,-1);
  1015. packet(0x0341,-1);
  1016. packet(0x0342,-1);
  1017. packet(0x0343,-1);
  1018. packet(0x0344,-1);
  1019. packet(0x0345,-1);
  1020. packet(0x0346,-1);
  1021. packet(0x0347,-1);
  1022. packet(0x0348,-1);
  1023. packet(0x0349,-1);
  1024. packet(0x034a,-1);
  1025. packet(0x034b,-1);
  1026. packet(0x034c,-1);
  1027. packet(0x034d,-1);
  1028. packet(0x034e,-1);
  1029. packet(0x034f,-1);
  1030. packet(0x0350,-1);
  1031. packet(0x0351,-1);
  1032. packet(0x0352,-1);
  1033. packet(0x0353,-1);
  1034. packet(0x0354,-1);
  1035. packet(0x0355,-1);
  1036. packet(0x0356,-1);
  1037. packet(0x0357,-1);
  1038. packet(0x0358,-1);
  1039. packet(0x0359,-1);
  1040. packet(0x035a,-1);
  1041. #endif
  1042. // 2008-05-27aSakexe
  1043. #if PACKETVER >= 20080527
  1044. packet(0x035b,-1);
  1045. packet(0x035c,2);
  1046. packet(0x035d,-1);
  1047. packet(0x035e,2);
  1048. packet(0x035f,-1);
  1049. packet(0x0389,-1);
  1050. #endif
  1051. // 2008-08-20aSakexe
  1052. #if PACKETVER >= 20080820
  1053. packet(0x040c,-1);
  1054. packet(0x040d,-1);
  1055. packet(0x040e,-1);
  1056. packet(0x040f,-1);
  1057. packet(0x0410,-1);
  1058. packet(0x0411,-1);
  1059. packet(0x0412,-1);
  1060. packet(0x0413,-1);
  1061. packet(0x0414,-1);
  1062. packet(0x0415,-1);
  1063. packet(0x0416,-1);
  1064. packet(0x0417,-1);
  1065. packet(0x0418,-1);
  1066. packet(0x0419,-1);
  1067. packet(0x041a,-1);
  1068. packet(0x041b,-1);
  1069. packet(0x041c,-1);
  1070. packet(0x041d,-1);
  1071. packet(0x041e,-1);
  1072. packet(0x041f,-1);
  1073. packet(0x0420,-1);
  1074. packet(0x0421,-1);
  1075. packet(0x0422,-1);
  1076. packet(0x0423,-1);
  1077. packet(0x0424,-1);
  1078. packet(0x0425,-1);
  1079. packet(0x0426,-1);
  1080. packet(0x0427,-1);
  1081. packet(0x0428,-1);
  1082. packet(0x0429,-1);
  1083. packet(0x042a,-1);
  1084. packet(0x042b,-1);
  1085. packet(0x042c,-1);
  1086. packet(0x042d,-1);
  1087. packet(0x042e,-1);
  1088. packet(0x042f,-1);
  1089. packet(0x0430,-1);
  1090. packet(0x0431,-1);
  1091. packet(0x0432,-1);
  1092. packet(0x0433,-1);
  1093. packet(0x0434,-1);
  1094. packet(0x0435,-1);
  1095. #endif
  1096. // 2008-09-10aSakexe
  1097. #if PACKETVER >= 20080910
  1098. parseable_packet(0x0436,19,clif_parse_WantToConnection,2,6,10,14,18);
  1099. parseable_packet(0x0437,7,clif_parse_ActionRequest,2,6);
  1100. parseable_packet(0x0438,10,clif_parse_UseSkillToId,2,4,6);
  1101. parseable_packet(0x0439,8,clif_parse_UseItem,2,4);
  1102. #endif
  1103. // 2008-11-13aSakexe
  1104. #if PACKETVER >= 20081113
  1105. packet(0x043e,-1);
  1106. packet(0x043f,8);
  1107. #endif
  1108. // 2008-12-10aSakexe
  1109. #if PACKETVER >= 20081210
  1110. parseable_packet( HEADER_CZ_SKILL_SELECT_RESPONSE, sizeof( PACKET_CZ_SKILL_SELECT_RESPONSE ), clif_parse_SkillSelectMenu, 0 );
  1111. #endif
  1112. // 2009-01-14aSakexe
  1113. #if PACKETVER >= 20090114
  1114. packet(0x043f,25);
  1115. packet(0x0444,-1);
  1116. packet(0x0445,10);
  1117. #endif
  1118. // 2009-02-18aSakexe
  1119. #if PACKETVER >= 20090218
  1120. packet(0x0446,14);
  1121. #endif
  1122. // 2009-02-25aSakexe
  1123. #if PACKETVER >= 20090225
  1124. packet(0x0448,-1);
  1125. #endif
  1126. // 2009-03-30aSakexe
  1127. #if PACKETVER >= 20090330
  1128. packet(0x0449,4);
  1129. #endif
  1130. // 2009-04-08aSakexe
  1131. #if PACKETVER >= 20090408
  1132. packet(0x02a6,-1);
  1133. packet(0x02a7,-1);
  1134. parseable_packet(0x044a,6,clif_parse_client_version,2);
  1135. #endif
  1136. // Renewal Clients
  1137. // 2008-08-27aRagexeRE
  1138. #if PACKETVER >= 20080827
  1139. parseable_packet(0x0072,22,clif_parse_UseSkillToId,9,15,18);
  1140. packet(0x007c,44);
  1141. parseable_packet(0x007e,105,clif_parse_UseSkillToPosMoreInfo,10,14,18,23,25);
  1142. parseable_packet(0x0085,10,clif_parse_ChangeDir,4,9);
  1143. parseable_packet(0x0089,11,clif_parse_TickSend,7);
  1144. parseable_packet(0x008c,14,clif_parse_GetCharNameRequest,10);
  1145. parseable_packet(0x0094,19,clif_parse_MoveToKafra,3,15);
  1146. parseable_packet(0x009b,34,clif_parse_WantToConnection,7,15,25,29,33);
  1147. parseable_packet(0x009f,20,clif_parse_UseItem,7,20);
  1148. parseable_packet(0x00a2,14,clif_parse_SolveCharName,10);
  1149. parseable_packet(0x00a7,9,clif_parse_WalkToXY,6);
  1150. parseable_packet(0x00f5,11,clif_parse_TakeItem,7);
  1151. parseable_packet(0x00f7,17,clif_parse_MoveFromKafra,3,13);
  1152. parseable_packet(0x0113,25,clif_parse_UseSkillToPos,10,14,18,23);
  1153. parseable_packet(0x0116,17,clif_parse_DropItem,6,15);
  1154. parseable_packet(0x0190,23,clif_parse_ActionRequest,9,22);
  1155. packet(0x02e2,20);
  1156. packet(0x02e3,22);
  1157. packet(0x02e4,11);
  1158. packet(0x02e5,9);
  1159. #endif
  1160. // 2008-09-10aRagexeRE
  1161. #if PACKETVER >= 20080910
  1162. parseable_packet(0x0436,19,clif_parse_WantToConnection,2,6,10,14,18);
  1163. parseable_packet(0x0437,7,clif_parse_ActionRequest,2,6);
  1164. parseable_packet(0x0438,10,clif_parse_UseSkillToId,2,4,6);
  1165. parseable_packet(0x0439,8,clif_parse_UseItem,2,4);
  1166. #endif
  1167. // 2008-11-12aRagexeRE
  1168. #if PACKETVER >= 20081112
  1169. packet(0x043f,8);
  1170. #endif
  1171. // 2008-12-17bRagexeRE
  1172. #if PACKETVER >= 20081217
  1173. packet(0x006d,114);
  1174. #endif
  1175. // 2009-01-21aRagexeRE
  1176. #if PACKETVER >= 20090121
  1177. packet(0x043f,25);
  1178. #endif
  1179. // 2009-05-20aRagexeRE
  1180. #if PACKETVER >= 20090520
  1181. parseable_packet( 0x0447, 2, clif_parse_blocking_playcancel, 0 );
  1182. #endif
  1183. // 2009-06-03aRagexeRE
  1184. #if PACKETVER >= 20090603
  1185. parseable_packet(0x07d7,8,clif_parse_PartyChangeOption,2,6,7);
  1186. packet(0x07d8,8);
  1187. packet(0x07d9,254);
  1188. parseable_packet(0x07da,6,clif_parse_PartyChangeLeader,2);
  1189. #endif
  1190. // 2009-06-17aRagexeRE
  1191. #if PACKETVER >= 20090617
  1192. packet(0x07d9,268);
  1193. #endif
  1194. // 2009-08-05aRagexeRE
  1195. #if PACKETVER >= 20090805
  1196. packet(0x07e2,8);
  1197. #endif
  1198. // 2009-08-18aRagexeRE
  1199. #if PACKETVER >= 20090818
  1200. packet(0x07e3,6);
  1201. parseable_packet(0x07e4,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
  1202. packet(0x07e6,8);
  1203. #endif
  1204. // 2009-08-25aRagexeRE
  1205. #if PACKETVER >= 20090825
  1206. packet(0x07e7,5);
  1207. #endif
  1208. // 2009-09-22aRagexeRE
  1209. #if PACKETVER >= 20090922
  1210. packet(0x07e5,8);
  1211. packet(0x07e6,8);
  1212. packet(0x07e7,32);
  1213. packet(0x07e8,-1);
  1214. packet(0x07e9,5);
  1215. #endif
  1216. // 2009-10-27aRagexeRE
  1217. #if PACKETVER >= 20091027
  1218. parseable_packet(0x07f5,6,clif_parse_GMFullStrip,2);
  1219. packet(0x07f6,14);
  1220. #endif
  1221. // 2009-11-03aRagexeRE
  1222. #if PACKETVER >= 20091103
  1223. packet(0x07f7,-1);
  1224. packet(0x07f8,-1);
  1225. packet(0x07f9,-1);
  1226. #endif
  1227. // 2009-11-24aRagexeRE
  1228. #if PACKETVER >= 20091124
  1229. packet(0x07fb,25);
  1230. #endif
  1231. // 2009-12-01aRagexeRE
  1232. #if PACKETVER >= 20091201
  1233. packet(0x07fc,10);
  1234. #endif
  1235. // 2009-12-22aRagexeRE
  1236. #if PACKETVER >= 2009122
  1237. parseable_packet(0x0802,18,clif_parse_PartyBookingRegisterReq,2,4,6); // Booking System
  1238. packet(0x0803,4);
  1239. packet(0x0804,8); // Booking System
  1240. packet(0x0805,-1);
  1241. parseable_packet(0x0806,4,clif_parse_PartyBookingDeleteReq,2); // Booking System
  1242. packet(0x0808,4); // Booking System
  1243. #endif
  1244. // 2009-12-29aRagexeRE
  1245. #if PACKETVER >= 20091229
  1246. parseable_packet(0x0804,14,clif_parse_PartyBookingSearchReq,2,4,6,8,12); // Booking System
  1247. parseable_packet(0x0806,2,clif_parse_PartyBookingDeleteReq,0); // Booking System
  1248. packet(0x0807,4);
  1249. parseable_packet(0x0808,14,clif_parse_PartyBookingUpdateReq,2); // Booking System
  1250. packet(0x0809,50);
  1251. packet(0x080A,18);
  1252. packet(0x080B,6); // Booking System
  1253. #endif
  1254. // 2010-01-05aRagexeRE
  1255. #if PACKETVER >= 20100105
  1256. parseable_packet( HEADER_CZ_PC_PURCHASE_ITEMLIST_FROMMC2, -1, clif_parse_PurchaseReq2, 0 );
  1257. #endif
  1258. // 2010-03-03aRagexeRE
  1259. #if PACKETVER >= 20100303
  1260. packet(0x0810,3);
  1261. parseable_packet(0x0811,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
  1262. #endif
  1263. // 2010-03-09aRagexeRE
  1264. #if PACKETVER >= 20100309
  1265. packet(0x081d,22);
  1266. #endif
  1267. // 2010-04-13aRagexeRE
  1268. #if PACKETVER >= 20100413
  1269. packet(0x0820,11);
  1270. #endif
  1271. // 2010-04-20aRagexeRE
  1272. #if PACKETVER >= 20100420
  1273. packet(0x0812,8);
  1274. parseable_packet(0x0815,2,clif_parse_ReqCloseBuyingStore,0);
  1275. parseable_packet(0x0817,6,clif_parse_ReqClickBuyingStore,2);
  1276. parseable_packet(0x0819,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
  1277. packet(0x081a,4);
  1278. packet(0x081b,10);
  1279. packet(0x081c,10);
  1280. #endif
  1281. // 2010-06-08aRagexeRE
  1282. #if PACKETVER >= 20100608
  1283. parseable_packet(0x0838,2,clif_parse_SearchStoreInfoNextPage,0);
  1284. parseable_packet(0x083B,2,clif_parse_CloseSearchStoreInfo,0);
  1285. parseable_packet( HEADER_CZ_SSILIST_ITEM_CLICK, sizeof( struct PACKET_CZ_SSILIST_ITEM_CLICK ), clif_parse_SearchStoreInfoListItemClick, 0 );
  1286. #endif
  1287. // 2010-07-06aRagexeRE
  1288. #if PACKETVER_MAIN_NUM >= 20100817 || PACKETVER_RE_NUM >= 20100706 || defined(PACKETVER_ZERO)
  1289. parseable_packet(0x0835, -1, clif_parse_SearchStoreInfo, 2, 4, 5, 9, 13, 14, 15);
  1290. #endif
  1291. // 2010-08-03aRagexeRE
  1292. #if PACKETVER >= 20100803
  1293. parseable_packet(0x0842,6,clif_parse_GMRecall2,2);
  1294. parseable_packet(0x0843,6,clif_parse_GMRemove2,2);
  1295. #endif
  1296. #if PACKETVER_MAIN_NUM >= 20100824 || PACKETVER_RE_NUM >= 20100824 || defined(PACKETVER_ZERO)
  1297. parseable_packet( HEADER_CZ_REQ_SE_CASH_TAB_CODE, sizeof( struct PACKET_CZ_REQ_SE_CASH_TAB_CODE ), clif_parse_CashShopReqTab, 0 );
  1298. #endif
  1299. // 2010-11-24aRagexeRE
  1300. #if PACKETVER >= 20101124
  1301. parseable_packet(0x0288,-1,clif_parse_npccashshop_buy,2,4,8,10);
  1302. parseable_packet(0x0436,19,clif_parse_WantToConnection,2,6,10,14,18);
  1303. parseable_packet(0x035f,5,clif_parse_WalkToXY,2);
  1304. parseable_packet(0x0360,6,clif_parse_TickSend,2);
  1305. parseable_packet(0x0361,5,clif_parse_ChangeDir,2,4);
  1306. parseable_packet(0x0362,6,clif_parse_TakeItem,2);
  1307. parseable_packet(0x0363,6,clif_parse_DropItem,2,4);
  1308. parseable_packet(0x0364,8,clif_parse_MoveToKafra,2,4);
  1309. parseable_packet(0x0365,8,clif_parse_MoveFromKafra,2,4);
  1310. parseable_packet(0x0366,10,clif_parse_UseSkillToPos,2,4,6,8);
  1311. parseable_packet(0x0367,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
  1312. parseable_packet(0x0368,6,clif_parse_GetCharNameRequest,2);
  1313. parseable_packet(0x0369,6,clif_parse_SolveCharName,2);
  1314. packet(0x0856,-1);
  1315. packet(0x0857,-1);
  1316. packet(0x0858,-1);
  1317. #endif
  1318. // 2011-10-05aRagexeRE
  1319. #if PACKETVER >= 20111005
  1320. parseable_packet(0x0364,5,clif_parse_WalkToXY,2);
  1321. parseable_packet(0x0817,6,clif_parse_TickSend,2);
  1322. parseable_packet(0x0366,5,clif_parse_ChangeDir,2,4);
  1323. parseable_packet(0x0815,6,clif_parse_TakeItem,2);
  1324. parseable_packet(0x0885,6,clif_parse_DropItem,2,4);
  1325. parseable_packet(0x0893,8,clif_parse_MoveToKafra,2,4);
  1326. parseable_packet(0x0897,8,clif_parse_MoveFromKafra,2,4);
  1327. parseable_packet(0x0369,10,clif_parse_UseSkillToPos,2,4,6,8);
  1328. parseable_packet(0x08ad,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
  1329. parseable_packet(0x088a,6,clif_parse_GetCharNameRequest,2);
  1330. parseable_packet(0x0838,6,clif_parse_SolveCharName,2);
  1331. parseable_packet(0x0439,8,clif_parse_UseItem,2,4);
  1332. packet(0x08d2,10);
  1333. #endif
  1334. // 2011-11-02aRagexe
  1335. #if PACKETVER >= 20111102
  1336. parseable_packet(0x0436,26,clif_parse_FriendsListAdd,2);
  1337. parseable_packet(0x0898,5,clif_parse_HomMenu,2,4);
  1338. parseable_packet(0x0281,36,clif_parse_StoragePassword,2,4,20);
  1339. parseable_packet(0x088d,26,clif_parse_PartyInvite2,2);
  1340. parseable_packet(0x083c,19,clif_parse_WantToConnection,2,6,10,14,18);
  1341. parseable_packet(0x08aa,7,clif_parse_ActionRequest,2,6);
  1342. parseable_packet(0x02c4,10,clif_parse_UseSkillToId,2,4,6);
  1343. parseable_packet(0x0811,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
  1344. packet(0x0890,8);
  1345. parseable_packet(0x08a5,18,clif_parse_PartyBookingRegisterReq,2,4,6);
  1346. parseable_packet(0x0835,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
  1347. parseable_packet(0x089b,2,clif_parse_ReqCloseBuyingStore,0);
  1348. parseable_packet(0x08a1,6,clif_parse_ReqClickBuyingStore,2);
  1349. parseable_packet(0x089e,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
  1350. parseable_packet(0x08ab,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
  1351. parseable_packet(0x088b,2,clif_parse_SearchStoreInfoNextPage,0);
  1352. parseable_packet(0x08a2,sizeof(struct PACKET_CZ_SSILIST_ITEM_CLICK),clif_parse_SearchStoreInfoListItemClick,0);
  1353. #endif
  1354. // 2012-03-07fRagexeRE
  1355. #if PACKETVER >= 20120307
  1356. parseable_packet(0x086A,19,clif_parse_WantToConnection,2,6,10,14,18);
  1357. parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
  1358. parseable_packet(0x0887,6,clif_parse_TickSend,2);
  1359. parseable_packet(0x0890,5,clif_parse_ChangeDir,2,4);
  1360. parseable_packet(0x0865,6,clif_parse_TakeItem,2);
  1361. parseable_packet(0x02C4,6,clif_parse_DropItem,2,4);
  1362. parseable_packet(0x093B,8,clif_parse_MoveToKafra,2,4);
  1363. parseable_packet(0x0963,8,clif_parse_MoveFromKafra,2,4);
  1364. parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
  1365. parseable_packet(0x0366,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
  1366. parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
  1367. parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
  1368. parseable_packet(0x0369,26,clif_parse_FriendsListAdd,2);
  1369. parseable_packet(0x0863,5,clif_parse_HomMenu,2,4);
  1370. parseable_packet(0x0861,36,clif_parse_StoragePassword,2,4,20);
  1371. parseable_packet(0x0929,26,clif_parse_PartyInvite2,2);
  1372. parseable_packet(0x0885,7,clif_parse_ActionRequest,2,6);
  1373. parseable_packet(0x0889,10,clif_parse_UseSkillToId,2,4,6);
  1374. parseable_packet(0x0870,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
  1375. //parseable_packet(0x0926,41,clif_parse_PartyBookingRegisterReq,2,4,6);
  1376. parseable_packet(0x0815,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
  1377. parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
  1378. parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
  1379. parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
  1380. parseable_packet(0x0884,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
  1381. parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
  1382. parseable_packet(0x0838,sizeof(struct PACKET_CZ_SSILIST_ITEM_CLICK),clif_parse_SearchStoreInfoListItemClick,0);
  1383. parseable_packet(0x0439,8,clif_parse_UseItem,2,4);
  1384. parseable_packet(0x0365,41,clif_parse_PartyBookingRegisterReq,2,4,6);
  1385. // New Packet
  1386. packet(0x090F,-1); // ZC_NOTIFY_NEWENTRY7
  1387. packet(0x0914,-1); // ZC_NOTIFY_MOVEENTRY8
  1388. packet(0x0915,-1); // ZC_NOTIFY_STANDENTRY9
  1389. #endif
  1390. // 2012-04-10aRagexeRE
  1391. #if PACKETVER >= 20120410
  1392. parseable_packet(0x089c,26,clif_parse_FriendsListAdd,2);
  1393. parseable_packet(0x0885,5,clif_parse_HomMenu,2,4);
  1394. parseable_packet(0x0961,36,clif_parse_StoragePassword,2,4,20);
  1395. parseable_packet(0x0288,-1,clif_parse_npccashshop_buy,2,4,8,10);
  1396. parseable_packet(0x091c,26,clif_parse_PartyInvite2,2);
  1397. parseable_packet(0x094b,19,clif_parse_WantToConnection,2,6,10,14,18);
  1398. parseable_packet(0x0369,7,clif_parse_ActionRequest,2,6);
  1399. parseable_packet(0x083c,10,clif_parse_UseSkillToId,2,4,6);
  1400. parseable_packet(0x0439,8,clif_parse_UseItem,2,4);
  1401. parseable_packet(0x0945,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
  1402. parseable_packet(0x0815,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
  1403. parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
  1404. parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
  1405. parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
  1406. parseable_packet(0x0819,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
  1407. parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
  1408. parseable_packet(0x0838,sizeof(struct PACKET_CZ_SSILIST_ITEM_CLICK),clif_parse_SearchStoreInfoListItemClick,0);
  1409. parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
  1410. parseable_packet(0x0886,6,clif_parse_TickSend,2);
  1411. parseable_packet(0x0871,5,clif_parse_ChangeDir,2,4);
  1412. parseable_packet(0x0938,6,clif_parse_TakeItem,2);
  1413. parseable_packet(0x0891,6,clif_parse_DropItem,2,4);
  1414. parseable_packet(0x086c,8,clif_parse_MoveToKafra,2,4);
  1415. parseable_packet(0x08a6,8,clif_parse_MoveFromKafra,2,4);
  1416. parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
  1417. parseable_packet(0x0366,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
  1418. parseable_packet(0x0889,6,clif_parse_GetCharNameRequest,2);
  1419. parseable_packet(0x0884,6,clif_parse_SolveCharName,2);
  1420. packet(0x08e6,4);
  1421. parseable_packet(0x08e7,10,clif_parse_PartyBookingSearchReq,2,4,6,8,12);
  1422. packet(0x08e8,-1);
  1423. parseable_packet(0x08e9,2,clif_parse_PartyBookingDeleteReq,0);
  1424. packet(0x08ea,4);
  1425. parseable_packet(0x08eb,39,clif_parse_PartyBookingUpdateReq,2);
  1426. packet(0x08ec,73);
  1427. packet(0x08ed,43);
  1428. packet(0x08ee,6);
  1429. parseable_packet(0x08ef,6,nullptr,2);
  1430. packet(0x08f0,6);
  1431. parseable_packet(0x08f1,6,nullptr,2);
  1432. packet(0x08f2,36);
  1433. packet(0x08f3,-1);
  1434. packet(0x08f4,6);
  1435. parseable_packet(0x08f5,-1,nullptr,2,4);
  1436. packet(0x08f6,22);
  1437. packet(0x08f7,3);
  1438. packet(0x08f8,7);
  1439. packet(0x08f9,6);
  1440. packet(0x08fa,6);
  1441. parseable_packet(0x08fb,6,nullptr,2);
  1442. parseable_packet( HEADER_CZ_INVENTORY_TAB, sizeof( PACKET_CZ_INVENTORY_TAB ), clif_parse_MoveItem, 0 );
  1443. parseable_packet(0x08D7,28,clif_parse_bg_queue_apply_request,2,4);
  1444. packet(0x08D8,27);
  1445. packet(0x08D9,30);
  1446. parseable_packet(0x08DA,26,clif_parse_bg_queue_cancel_request,2);
  1447. packet(0x08DB,27);
  1448. packet(0x08DC,26);
  1449. parseable_packet(0x08DD,27,clif_parse_dull,2,3);
  1450. packet(0x08DE,27);
  1451. packet(0x08DF,50);
  1452. parseable_packet(0x08E0,51,clif_parse_bg_queue_lobby_reply,2,3,27);
  1453. packet(0x08E1,51);
  1454. parseable_packet(0x090A,26,clif_parse_bg_queue_request_queue_number,2);
  1455. packet(0x0977,14); //Monster HP Bar
  1456. parseable_packet( HEADER_CZ_REQ_JOIN_GUILD2, sizeof( PACKET_CZ_REQ_JOIN_GUILD2 ), clif_parse_GuildInvite2, 0 );
  1457. parseable_packet(0x091d,41,clif_parse_PartyBookingRegisterReq,2,4,6);
  1458. // Merge Item
  1459. parseable_packet( HEADER_CZ_REQ_MERGE_ITEM, -1, clif_parse_merge_item_req, 0 );
  1460. parseable_packet(0x0974,2,clif_parse_merge_item_cancel,0); // CZ_CANCEL_MERGE_ITEM
  1461. parseable_packet(0x0844,2,clif_parse_cashshop_open_request,0);
  1462. packet(0x0849,16); //clif_cashshop_result
  1463. parseable_packet(HEADER_CZ_SE_PC_BUY_CASHITEM_LIST,-1,clif_parse_cashshop_buy,0);
  1464. parseable_packet(0x084a,2,clif_parse_cashshop_close,0);
  1465. parseable_packet(0x08c9,2,clif_parse_cashshop_list_request,0);
  1466. #endif
  1467. // 2012-04-18aRagexeRE [Special Thanks to Judas!]
  1468. #if PACKETVER >= 20120418
  1469. parseable_packet(0x023B,26,clif_parse_FriendsListAdd,2);
  1470. parseable_packet(0x0361,5,clif_parse_HomMenu,2,4);
  1471. parseable_packet(0x08A8,36,clif_parse_StoragePassword,2,4,20);
  1472. parseable_packet(0x0802,26,clif_parse_PartyInvite2,2);
  1473. parseable_packet(0x022D,19,clif_parse_WantToConnection,2,6,10,14,18);
  1474. parseable_packet(0x0281,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
  1475. parseable_packet(0x035F,6,clif_parse_TickSend,2);
  1476. parseable_packet(0x0202,5,clif_parse_ChangeDir,2,4);
  1477. parseable_packet(0x07E4,6,clif_parse_TakeItem,2);
  1478. parseable_packet(0x0362,6,clif_parse_DropItem,2,4);
  1479. parseable_packet(0x07EC,8,clif_parse_MoveToKafra,2,4);
  1480. parseable_packet(0x0364,8,clif_parse_MoveFromKafra,2,4);
  1481. parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
  1482. parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
  1483. parseable_packet(0x08E5,41,clif_parse_PartyBookingRegisterReq,2,4,6); //Added to prevent disconnections
  1484. packet(0x08d2,10);
  1485. #endif
  1486. // 2012-06-18
  1487. #if PACKETVER >= 20120618
  1488. packet(0x0983,29); // ZC_MSG_STATE_CHANGE3
  1489. parseable_packet(0x0861,41,clif_parse_PartyBookingRegisterReq,2,4,6); //actually 12-05-03
  1490. #endif
  1491. // 2012-07-02aRagexeRE (unstable)
  1492. #if PACKETVER >= 20120702
  1493. parseable_packet(0x0363,19,clif_parse_WantToConnection,2,6,10,14,18);
  1494. parseable_packet(0x0364,6,clif_parse_TickSend,2);
  1495. parseable_packet(0x085a,7,clif_parse_ActionRequest,2,6);
  1496. parseable_packet(0x0861,8,clif_parse_MoveFromKafra,2,4);
  1497. parseable_packet(0x0862,10,clif_parse_UseSkillToId,2,4,6);
  1498. parseable_packet(0x0863,10,clif_parse_UseSkillToPos,2,4,6,8);
  1499. parseable_packet(0x0886,6,clif_parse_SolveCharName,2);
  1500. parseable_packet(0x0889,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
  1501. parseable_packet(0x089e,6,clif_parse_DropItem,2,4);
  1502. parseable_packet(0x089f,6,clif_parse_TakeItem,2);
  1503. parseable_packet(0x08a0,8,clif_parse_MoveToKafra,2,4);
  1504. parseable_packet(0x094a,6,clif_parse_GetCharNameRequest,2);
  1505. parseable_packet(0x0953,5,clif_parse_WalkToXY,2);
  1506. parseable_packet(0x0960,5,clif_parse_ChangeDir,2,4);
  1507. parseable_packet(0x0879,41,clif_parse_PartyBookingRegisterReq,2,4,6);
  1508. #endif
  1509. #if PACKETVER >= 20121212
  1510. packet(0x08C7,20);
  1511. #endif
  1512. // 2013-03-20Ragexe (Judas)
  1513. #if PACKETVER >= 20130320
  1514. parseable_packet(0x014f,6,clif_parse_GuildRequestInfo,2);
  1515. //parseable_packet(0x0281,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
  1516. parseable_packet(0x035f,6,clif_parse_ReqClickBuyingStore,2);
  1517. parseable_packet(0x0363,6,clif_parse_TickSend,2);
  1518. parseable_packet(0x0365,sizeof(struct PACKET_CZ_SSILIST_ITEM_CLICK),clif_parse_SearchStoreInfoListItemClick,0);
  1519. parseable_packet(0x0438,6,clif_parse_DropItem,2,4);
  1520. parseable_packet(0x0447,2,clif_parse_blocking_playcancel,0); // CZ_BLOCKING_PLAY_CANCEL
  1521. parseable_packet(0x044A,6,clif_parse_client_version,2);
  1522. parseable_packet(0x0844,2,clif_parse_cashshop_open_request,0);
  1523. packet(0x0849,16); //clif_cashshop_result
  1524. parseable_packet(0x084a,2,clif_parse_cashshop_close,0);
  1525. packet(0x084b,19); //fallitem4
  1526. parseable_packet(0x085a,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
  1527. parseable_packet(0x085d,18,clif_parse_PartyBookingRegisterReq,2,4,6);
  1528. parseable_packet(0x0868,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
  1529. parseable_packet(0x086d,26,clif_parse_PartyInvite2,2);
  1530. parseable_packet(0x086f,26,clif_parse_FriendsListAdd,2);
  1531. parseable_packet(0x0874,8,clif_parse_MoveFromKafra,2,4);
  1532. parseable_packet(0x0881,5,clif_parse_WalkToXY,2);
  1533. parseable_packet(0x0886,2,clif_parse_ReqCloseBuyingStore,0);
  1534. parseable_packet(0x0888,19,clif_parse_WantToConnection,2,6,10,14,18);
  1535. parseable_packet(0x088e,7,clif_parse_ActionRequest,2,6);
  1536. parseable_packet(0x0897,5,clif_parse_ChangeDir,2,4);
  1537. parseable_packet(0x0898,6,clif_parse_GetCharNameRequest,2);
  1538. parseable_packet(0x089b,10,clif_parse_UseSkillToId,2,4,6);
  1539. parseable_packet(0x08ac,8,clif_parse_MoveToKafra,2,4);
  1540. parseable_packet(0x08c9,2,clif_parse_cashshop_list_request,0);
  1541. packet(0x08d2,10);
  1542. parseable_packet(0x0922,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
  1543. //parseable_packet(0x092e,2,clif_parse_SearchStoreInfoNextPage,0);
  1544. parseable_packet(0x0933,6,clif_parse_TakeItem,2);
  1545. parseable_packet(0x0938,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
  1546. parseable_packet(0x093f,5,clif_parse_HomMenu,2,4);
  1547. parseable_packet(0x0947,36,clif_parse_StoragePassword,2,4,20);
  1548. parseable_packet(0x094c,6,clif_parse_SolveCharName,2);
  1549. parseable_packet(0x094e,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
  1550. parseable_packet(0x0959,10,clif_parse_UseSkillToPos,2,4,6,8);
  1551. //parseable_packet(0x095a,8,clif_parse_Mail_setattach,2,4);
  1552. packet(0x0977,14); //Monster HP Bar
  1553. parseable_packet(0x0978,6,clif_parse_reqworldinfo,2);
  1554. packet(0x0979,50); //ackworldinfo
  1555. packet(0x099b,8); //maptypeproperty2
  1556. // New Packets
  1557. packet(0x08ff,24); // ZC_EFST_SET_ENTER
  1558. packet(0x0984,28); // ZC_EFST_SET_ENTER2
  1559. packet(0x099f,22); // ZC_SKILL_ENTRY4
  1560. #endif
  1561. // 2013-07-17Ragexe
  1562. #if PACKETVER >= 20130717
  1563. parseable_packet( HEADER_CZ_REQ_BANKING_DEPOSIT, sizeof( PACKET_CZ_REQ_BANKING_DEPOSIT ), clif_parse_BankDeposit, 0 );
  1564. parseable_packet( HEADER_CZ_REQ_BANKING_WITHDRAW, sizeof( PACKET_CZ_REQ_BANKING_WITHDRAW ), clif_parse_BankWithdraw, 0 );
  1565. parseable_packet( HEADER_CZ_REQ_BANKING_CHECK, sizeof( PACKET_CZ_REQ_BANKING_CHECK ), clif_parse_BankCheck, 0 );
  1566. parseable_packet( HEADER_CZ_REQ_OPEN_BANKING, sizeof( PACKET_CZ_REQ_OPEN_BANKING ), clif_parse_BankOpen, 0 );
  1567. parseable_packet( HEADER_CZ_REQ_CLOSE_BANKING, sizeof( PACKET_CZ_REQ_CLOSE_BANKING ), clif_parse_BankClose, 0 );
  1568. #endif
  1569. // 2013-07-31cRagexe
  1570. #if PACKETVER >= 20130731
  1571. packet(0x09ca,23); // ZC_SKILL_ENTRY5
  1572. #endif
  1573. // 2013-08-07Ragexe
  1574. #if PACKETVER >= 20130807
  1575. // Merge Item
  1576. parseable_packet(0x0974,2,clif_parse_merge_item_cancel,0); // CZ_CANCEL_MERGE_ITEM
  1577. packet(0x9CD,8); // ZC_MSG_COLOR
  1578. #endif
  1579. // 2013-08-21bRagexe
  1580. #if PACKETVER >= 20130821
  1581. packet(0x09D1,14);
  1582. #endif
  1583. // 2013-12-23Ragexe
  1584. #if PACKETVER >= 20131223
  1585. //New Packets
  1586. parseable_packet(0x09CE,102,clif_parse_GM_Item_Monster,2);
  1587. parseable_packet(0x09D4,2,clif_parse_NPCShopClosed,0);
  1588. //NPC Market
  1589. parseable_packet( HEADER_CZ_NPC_MARKET_PURCHASE, -1, clif_parse_NPCMarketPurchase, 0 );
  1590. packet(0x09D7,-1);
  1591. parseable_packet(0x09D8,2,clif_parse_NPCMarketClosed,0);
  1592. // Clan System
  1593. parseable_packet(0x098D,-1,clif_parse_clan_chat,2,4);
  1594. // Sale
  1595. parseable_packet( HEADER_CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO, -1, clif_parse_sale_search, 0 );
  1596. parseable_packet( HEADER_CZ_REQ_APPLY_BARGAIN_SALE_ITEM, sizeof( PACKET_CZ_REQ_APPLY_BARGAIN_SALE_ITEM ), clif_parse_sale_add, 0 );
  1597. packet(0x09AF,4);
  1598. parseable_packet( HEADER_CZ_REQ_REMOVE_BARGAIN_SALE_ITEM, sizeof( PACKET_CZ_REQ_REMOVE_BARGAIN_SALE_ITEM ), clif_parse_sale_remove, 0 );
  1599. packet(0x09B1,4);
  1600. parseable_packet(0x09B4,6,clif_parse_sale_open,2);
  1601. parseable_packet(0x09BC,6,clif_parse_sale_close,2);
  1602. parseable_packet(0x09C3,8,clif_parse_sale_refresh,2,6);
  1603. // New Packet
  1604. packet(0x097A,-1); // ZC_ALL_QUEST_LIST2
  1605. packet(0x09DB,-1); // ZC_NOTIFY_MOVEENTRY10
  1606. packet(0x09DC,-1); // ZC_NOTIFY_NEWENTRY10
  1607. packet(0x09DD,-1); // ZC_NOTIFY_STANDENTRY10
  1608. #endif
  1609. // 2014-10-08Ragexe
  1610. #if PACKETVER >= 20141008
  1611. parseable_packet(0x9FB, -1, clif_parse_pet_evolution, 2, 4); // CZ_PET_EVOLUTION
  1612. packet(0x09FC, 6); // ZC_PET_EVOLUTION_RESULT
  1613. #endif
  1614. // 2014-10-16Ragexe
  1615. #if PACKETVER >= 20141016
  1616. // New packet
  1617. packet(0x0A00,269); // ZC_SHORTCUT_KEY_LIST_V3
  1618. parseable_packet(0x0A01,3,clif_parse_HotkeyRowShift,2); // CZ_SHORTCUTKEYBAR_ROTATE
  1619. packet(0x0A0E,14); // ZC_BATTLEFIELD_NOTIFY_HP2
  1620. packet(0x09F7,75); // ZC_PROPERTY_HOMUN_2
  1621. packet(0x09E6,22); // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
  1622. // Roulette System [Yommy]
  1623. parseable_packet(0x0A19,2,clif_parse_roulette_open,0); // CZ_REQ_OPEN_ROULETTE
  1624. packet(0x0A1A,23); // ZC_ACK_OPEN_ROULETTE
  1625. parseable_packet(0x0A1B,2,clif_parse_roulette_info,0); // CZ_REQ_ROULETTE_INFO
  1626. packet(0x0A1C,-1); // ZC_ACK_ROULETTE_INFO
  1627. parseable_packet(0x0A1D,2,clif_parse_roulette_close,0); // CZ_REQ_CLOSE_ROULETTE
  1628. packet(0x0A1E,3); // ZC_ACK_CLOSE_ROULETTE
  1629. parseable_packet(0x0A1F,2,clif_parse_roulette_generate,0); // CZ_REQ_GENERATE_ROULETTE
  1630. packet( roulettgenerateackType, sizeof( struct packet_roulette_generate_ack ) ); // ZC_ACK_GENERATE_ROULETTE
  1631. parseable_packet(0x0A21,3,clif_parse_roulette_item,2); // CZ_RECV_ROULETTE_ITEM
  1632. packet(0x0A22,5); // ZC_RECV_ROULETTE_ITEM
  1633. #endif
  1634. // 2014-10-22bRagexe
  1635. #if PACKETVER >= 20141022
  1636. packet(0x006d,149);
  1637. packet(0x08e3,149);
  1638. // New Packet
  1639. packet(0x09FD,-1); // ZC_NOTIFY_MOVEENTRY11
  1640. packet(0x09FE,-1); // ZC_NOTIFY_NEWENTRY11
  1641. packet(0x09FF,-1); // ZC_NOTIFY_STANDENTRY11
  1642. #endif
  1643. // 2015-05-13aRagexe
  1644. #if PACKETVER >= 20150513
  1645. // RODEX Mail system
  1646. packet(0x09E7,3); // ZC_NOTIFY_UNREADMAIL
  1647. parseable_packet(0x09E8,11,clif_parse_Mail_refreshinbox,2,3); // CZ_OPEN_MAILBOX
  1648. parseable_packet(0x09E9,2,clif_parse_dull,0); // CZ_CLOSE_MAILBOX
  1649. parseable_packet(0x09EA,11,clif_parse_Mail_read,2,3); // CZ_REQ_READ_MAIL
  1650. parseable_packet(0x09EC,-1,clif_parse_Mail_send,2,4,28,52,60,62,64); // CZ_REQ_WRITE_MAIL
  1651. packet(0x09ED,3); // ZC_ACK_WRITE_MAIL
  1652. parseable_packet(0x09EE,11,clif_parse_Mail_refreshinbox,2,3); // CZ_REQ_NEXT_MAIL_LIST
  1653. parseable_packet(0x09EF,11,clif_parse_Mail_refreshinbox,2,3); // CZ_REQ_REFRESH_MAIL_LIST
  1654. packet(0x09F0,-1); // ZC_ACK_MAIL_LIST
  1655. parseable_packet(0x09F1,11,clif_parse_Mail_getattach,0); // CZ_REQ_ZENY_FROM_MAIL
  1656. packet(0x09F2,12); // ZC_ACK_ZENY_FROM_MAIL
  1657. parseable_packet(0x09F3,11,clif_parse_Mail_getattach,0); // CZ_REQ_ITEM_FROM_MAIL
  1658. packet(0x09F4,12); // ZC_ACK_ITEM_FROM_MAIL
  1659. parseable_packet(0x09F5,11,clif_parse_Mail_delete,0); // CZ_REQ_DELETE_MAIL
  1660. packet(0x09F6,11); // ZC_ACK_DELETE_MAIL
  1661. parseable_packet(0x0A03,2,clif_parse_Mail_cancelwrite,0); // CZ_REQ_CANCEL_WRITE_MAIL
  1662. parseable_packet(0x0A04,6,clif_parse_Mail_setattach,2,4); // CZ_REQ_ADD_ITEM_TO_MAIL
  1663. parseable_packet(0x0A06,6,clif_parse_Mail_winopen,2,4); // CZ_REQ_REMOVE_ITEM_MAIL
  1664. packet(0x0A07,9); // ZC_ACK_REMOVE_ITEM_MAIL
  1665. parseable_packet(0x0A08,26,clif_parse_Mail_beginwrite,0); // CZ_REQ_OPEN_WRITE_MAIL
  1666. packet(0x0A12,27); // ZC_ACK_OPEN_WRITE_MAIL
  1667. parseable_packet(0x0A13,26,clif_parse_Mail_Receiver_Check,2); // CZ_CHECK_RECEIVE_CHARACTER_NAME
  1668. packet(0x0A14,10); // ZC_CHECK_RECEIVE_CHARACTER_NAME
  1669. packet(0x0A32,2); // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
  1670. // OneClick Itemidentify
  1671. parseable_packet(0x0A35,4,clif_parse_Oneclick_Itemidentify,2); // CZ_REQ_ONECLICK_ITEMIDENTIFY
  1672. // Achievement System
  1673. packet(0x0A23,-1); // ZC_ALL_ACH_LIST
  1674. packet(0x0A24,66); // ZC_ACH_UPDATE
  1675. parseable_packet(0x0A25,6,clif_parse_AchievementCheckReward,0); // CZ_REQ_ACH_REWARD
  1676. packet(0x0A26,7); // ZC_REQ_ACH_REWARD_ACK
  1677. // Title System
  1678. parseable_packet(0x0A2E,6,clif_parse_change_title,0); // CZ_REQ_CHANGE_TITLE
  1679. packet(0x0A2F,7); // ZC_ACK_CHANGE_TITLE
  1680. // Quest UI
  1681. packet(0x08FE,-1); // ZC_HUNTING_QUEST_INFO
  1682. packet(0x09F8,-1); // ZC_ALL_QUEST_LIST3
  1683. packet(0x09F9,143); // ZC_ADD_QUEST_EX
  1684. packet(0x09FA,-1); // ZC_UPDATE_MISSION_HUNT_EX
  1685. #endif
  1686. // 2015-05-20aRagexe
  1687. #if PACKETVER >= 20150520
  1688. parseable_packet( HEADER_CZ_REQ_APPLY_BARGAIN_SALE_ITEM2, sizeof( PACKET_CZ_REQ_APPLY_BARGAIN_SALE_ITEM ), clif_parse_sale_add, 0 );
  1689. #endif
  1690. // 2015-09-16Ragexe
  1691. #if PACKETVER >= 20150916
  1692. // New Packet
  1693. packet(0x097F,-1); // ZC_SELECTCART
  1694. parseable_packet(0x0980,7,clif_parse_SelectCart,2,6); // CZ_SELECTCART
  1695. #endif
  1696. #if PACKETVER >= 20151104
  1697. parseable_packet( HEADER_CZ_REQ_STYLE_CHANGE, sizeof( PACKET_CZ_REQ_STYLE_CHANGE ), clif_parse_stylist_buy, 0 );
  1698. parseable_packet( HEADER_CZ_REQ_STYLE_CLOSE, sizeof( PACKET_CZ_REQ_STYLE_CLOSE ), clif_parse_stylist_close, 0 );
  1699. #endif
  1700. // 2016-03-02bRagexe
  1701. #if PACKETVER >= 20160302
  1702. packet(0x0A51,34);
  1703. #endif
  1704. #if PACKETVER >= 20160316
  1705. parseable_packet(HEADER_CZ_REQ_UPLOAD_MACRO_DETECTOR, sizeof(PACKET_CZ_REQ_UPLOAD_MACRO_DETECTOR), clif_parse_captcha_register, 0);
  1706. parseable_packet(HEADER_CZ_UPLOAD_MACRO_DETECTOR_CAPTCHA, -1, clif_parse_captcha_upload, 0);
  1707. parseable_packet(HEADER_CZ_COMPLETE_APPLY_MACRO_DETECTOR_CAPTCHA, sizeof(PACKET_CZ_COMPLETE_APPLY_MACRO_DETECTOR_CAPTCHA), clif_parse_macro_detector_download_ack, 0);
  1708. parseable_packet(HEADER_CZ_ACK_ANSWER_MACRO_DETECTOR, sizeof(PACKET_CZ_ACK_ANSWER_MACRO_DETECTOR), clif_parse_macro_detector_answer, 0);
  1709. parseable_packet(HEADER_CZ_REQ_APPLY_MACRO_DETECTOR, sizeof(PACKET_CZ_REQ_APPLY_MACRO_DETECTOR), clif_parse_macro_reporter_ack, 0);
  1710. #endif
  1711. #if PACKETVER >= 20160323
  1712. parseable_packet(HEADER_CZ_REQ_PREVIEW_MACRO_DETECTOR, sizeof(PACKET_CZ_REQ_PREVIEW_MACRO_DETECTOR), clif_parse_captcha_preview_request, 0);
  1713. #endif
  1714. #if PACKETVER >= 20160330
  1715. parseable_packet(HEADER_CZ_REQ_PLAYER_AID_IN_RANGE, sizeof(PACKET_CZ_REQ_PLAYER_AID_IN_RANGE), clif_parse_macro_reporter_select, 0);
  1716. #endif
  1717. // 2016-03-30aRagexe
  1718. #if PACKETVER >= 20160330
  1719. parseable_packet(0x0A6E,-1,clif_parse_Mail_send,2,4,28,52,60,62,64,68); // CZ_REQ_WRITE_MAIL2
  1720. #endif
  1721. // 2016-05-25aRagexeRE
  1722. #if PACKETVER >= 20160525
  1723. parseable_packet(0x0A77,15,clif_parse_camerainfo,0);
  1724. packet(0x0A78, 15);
  1725. #endif
  1726. // 2016-06-01aRagexe
  1727. #if PACKETVER >= 20160601
  1728. packet(0x0A7D,-1);
  1729. #endif
  1730. #if PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
  1731. parseable_packet( HEADER_CZ_RANDOM_COMBINE_ITEM_UI_CLOSE, sizeof( struct PACKET_CZ_RANDOM_COMBINE_ITEM_UI_CLOSE ), clif_parse_laphine_synthesis_close, 0 );
  1732. parseable_packet( HEADER_CZ_REQ_RANDOM_COMBINE_ITEM, -1, clif_parse_laphine_synthesis, 0 );
  1733. #endif
  1734. #if PACKETVER_MAIN_NUM >= 20160622 || PACKETVER_RE_NUM >= 20160622 || defined(PACKETVER_ZERO)
  1735. parseable_packet( HEADER_CZ_CMD_RESETCOOLTIME, sizeof( PACKET_CZ_CMD_RESETCOOLTIME ), clif_parse_gm_resetcooltime, 0 );
  1736. #endif
  1737. // 2016-10-12aRagexeRE
  1738. #if PACKETVER >= 20161012
  1739. parseable_packet( HEADER_CZ_REFINING_SELECT_ITEM, sizeof( struct PACKET_CZ_REFINING_SELECT_ITEM ), clif_parse_refineui_add, 0 );
  1740. parseable_packet( HEADER_CZ_REQ_REFINING, sizeof( struct PACKET_CZ_REQ_REFINING ), clif_parse_refineui_refine, 0 );
  1741. parseable_packet( HEADER_CZ_CLOSE_REFINING_UI, sizeof( struct PACKET_CZ_CLOSE_REFINING_UI ), clif_parse_refineui_close, 0 );
  1742. #endif
  1743. // 2016-10-26bRagexeRE
  1744. #if PACKETVER >= 20161026
  1745. packet(0x0AA5,-1);
  1746. #endif
  1747. // 2017-02-08bRagexeRE
  1748. #if PACKETVER >= 20170208
  1749. parseable_packet(0x0A97,8,clif_parse_equipswitch_add,2,4);
  1750. packet(0x0A98,12);
  1751. parseable_packet(0x0A99,8,clif_parse_equipswitch_remove,2,4,6);
  1752. packet(0x0A9A,10);
  1753. packet(0x0A9B,-1);
  1754. parseable_packet(0x0A9C,2,clif_parse_equipswitch_request,0);
  1755. packet(0x0A9D,4);
  1756. #endif
  1757. // 2017-04-19bRagexeRE
  1758. #if PACKETVER >= 20170419
  1759. parseable_packet(0x0AC0,26,clif_parse_Mail_refreshinbox,2,10);
  1760. parseable_packet(0x0AC1,26,clif_parse_Mail_refreshinbox,2,10);
  1761. #endif
  1762. // 2017-05-02dRagexeRE
  1763. #if PACKETVER >= 20170502
  1764. packet(0x0A44,-1);
  1765. packet(0x0A98,10);
  1766. parseable_packet(0x0A99,4,clif_parse_equipswitch_remove,2,4);
  1767. parseable_packet(0x0ACE,4,clif_parse_equipswitch_request_single,0);
  1768. #endif
  1769. #if PACKETVER_MAIN_NUM >= 20170726 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
  1770. parseable_packet( HEADER_CZ_RANDOM_UPGRADE_ITEM_UI_CLOSE, sizeof( struct PACKET_CZ_RANDOM_UPGRADE_ITEM_UI_CLOSE ), clif_parse_laphine_upgrade_close, 0 );
  1771. parseable_packet( HEADER_CZ_REQ_RANDOM_UPGRADE_ITEM, sizeof( struct PACKET_CZ_REQ_RANDOM_UPGRADE_ITEM ), clif_parse_laphine_upgrade, 0 );
  1772. #endif
  1773. // 2017-08-30bRagexeRE
  1774. #if PACKETVER >= 20170830
  1775. packet(0x0ACC,18);
  1776. #endif
  1777. // 2017-10-25eRagexeRE
  1778. #if PACKETVER >= 20171025
  1779. packet(0x0ADE,6);
  1780. #endif
  1781. // 2018-01-03aRagexeRE or 2018-01-03bRagexeRE
  1782. #if PACKETVER >= 20180103
  1783. parseable_packet(0x0ae8,2,clif_parse_changedress,0);
  1784. #endif
  1785. // 2018-02-07bRagexeRE
  1786. #if PACKETVER >= 20180207
  1787. parseable_packet(0x0AF4,11,clif_parse_UseSkillToPos,2,4,6,8,10);
  1788. #endif
  1789. // 2018-03-07bRagexeRE
  1790. #if PACKETVER >= 20180307
  1791. parseable_packet(0x0A68,3,clif_parse_open_ui,2);
  1792. parseable_packet(0x0AEF,2,clif_parse_attendance_request,0);
  1793. packet(0x0AF0,10);
  1794. #endif
  1795. // 2018-03-21aRagexeRE
  1796. #if PACKETVER >= 20180321
  1797. parseable_packet( 0x0A49, sizeof( struct PACKET_CZ_PRIVATE_AIRSHIP_REQUEST ), clif_parse_private_airship_request, 0 );
  1798. packet(0x0A4A,6);
  1799. packet(0x0A4B,22);
  1800. packet(0x0A4C,28);
  1801. #endif
  1802. // 2018-04-18bRagexeRE
  1803. #if PACKETVER >= 20180418
  1804. packet(0x0ADD, 22);
  1805. #endif
  1806. #if PACKETVER >= 20180516
  1807. parseable_packet( HEADER_CZ_REQ_STYLE_CHANGE2, sizeof( PACKET_CZ_REQ_STYLE_CHANGE2 ), clif_parse_stylist_buy, 0 );
  1808. #endif
  1809. #if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
  1810. parseable_packet( HEADER_CZ_USE_SKILL_START, sizeof( struct PACKET_CZ_USE_SKILL_START ), clif_parse_StartUseSkillToId, 0 );
  1811. parseable_packet( HEADER_CZ_USE_SKILL_END, sizeof( struct PACKET_CZ_USE_SKILL_END ), clif_parse_StopUseSkillToId, 0 );
  1812. #endif
  1813. #if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
  1814. parseable_packet( HEADER_CZ_REQ_OPEN_MSGBOX_EXTEND_BODYITEM_SIZE, sizeof( struct PACKET_CZ_REQ_OPEN_MSGBOX_EXTEND_BODYITEM_SIZE ), clif_parse_inventory_expansion_request, 0 );
  1815. parseable_packet( HEADER_CZ_REQ_EXTEND_BODYITEM_SIZE, sizeof( struct PACKET_CZ_REQ_EXTEND_BODYITEM_SIZE ), clif_parse_inventory_expansion_confirm, 0 );
  1816. parseable_packet( HEADER_CZ_CLOSE_MSGBOX_EXTEND_BODYITEM_SIZE, sizeof( struct PACKET_CZ_CLOSE_MSGBOX_EXTEND_BODYITEM_SIZE ), clif_parse_inventory_expansion_reject, 0 );
  1817. #endif
  1818. #if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
  1819. parseable_packet( HEADER_CZ_NPC_BARTER_MARKET_PURCHASE, -1, clif_parse_barter_buy, 0 );
  1820. parseable_packet( HEADER_CZ_NPC_BARTER_MARKET_CLOSE, sizeof( struct PACKET_CZ_NPC_BARTER_MARKET_CLOSE ), clif_parse_barter_close, 0 );
  1821. #endif
  1822. #if PACKETVER_MAIN_NUM >= 20190227 || PACKETVER_RE_NUM >= 20190220 || PACKETVER_ZERO_NUM >= 20190220
  1823. parseable_packet( HEADER_CZ_PING_LIVE, sizeof( struct PACKET_CZ_PING_LIVE ), clif_parse_dull, 0 );
  1824. #endif
  1825. #if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190522 || PACKETVER_ZERO_NUM >= 20190515
  1826. parseable_packet( HEADER_CZ_REQ_MOVE_GUILD_AGIT, sizeof(PACKET_CZ_REQ_MOVE_GUILD_AGIT), clif_parse_guild_castle_teleport_request, 0);
  1827. parseable_packet( HEADER_CZ_REQ_AGIT_INVESTMENT, sizeof(PACKET_CZ_REQ_AGIT_INVESTMENT), clif_parse_guild_castle_info_request, 0);
  1828. #endif
  1829. #if PACKETVER >= 20190724
  1830. parseable_packet(HEADER_CZ_REQ_ADD_NEW_EMBLEM, sizeof( PACKET_CZ_REQ_ADD_NEW_EMBLEM ), clif_parse_GuildChangeEmblem2, 0 );
  1831. #endif
  1832. #if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
  1833. parseable_packet( 0x0B21, sizeof( struct PACKET_CZ_SHORTCUT_KEY_CHANGE2 ), clif_parse_Hotkey, 0 );
  1834. parseable_packet( 0x0B22, sizeof( struct PACKET_CZ_SHORTCUTKEYBAR_ROTATE2 ), clif_parse_HotkeyRowShift, 0 );
  1835. #endif
  1836. #if PACKETVER_MAIN_NUM >= 20190703 || PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190709
  1837. parseable_packet( HEADER_CZ_UNINSTALLATION, sizeof( PACKET_CZ_UNINSTALLATION ), clif_parse_RemoveOption, 0 );
  1838. #endif
  1839. #if PACKETVER >= 20190724
  1840. parseable_packet( 0x0b4c, 2, clif_parse_dull, 0 );
  1841. #endif
  1842. #if PACKETVER_MAIN_NUM >= 20191120 || PACKETVER_RE_NUM >= 20191106 || PACKETVER_ZERO_NUM >= 20191127
  1843. parseable_packet( HEADER_CZ_NPC_EXPANDED_BARTER_MARKET_PURCHASE, -1, clif_parse_barter_extended_buy, 0 );
  1844. parseable_packet( HEADER_CZ_NPC_EXPANDED_BARTER_MARKET_CLOSE, sizeof( struct PACKET_CZ_NPC_EXPANDED_BARTER_MARKET_CLOSE ), clif_parse_barter_extended_close, 0 );
  1845. #endif
  1846. #if PACKETVER >= 20191224
  1847. parseable_packet( HEADER_CZ_SE_CASHSHOP_OPEN2, sizeof( struct PACKET_CZ_SE_CASHSHOP_OPEN2 ), clif_parse_cashshop_open_request, 0 );
  1848. parseable_packet( HEADER_CZ_REQ_ITEMREPAIR2, sizeof( struct PACKET_CZ_REQ_ITEMREPAIR2 ), clif_parse_RepairItem, 0 );
  1849. #endif
  1850. #if PACKETVER >= 20191204
  1851. parseable_packet( HEADER_CZ_PARTY_REQ_MASTER_TO_JOIN, sizeof( struct PACKET_CZ_PARTY_REQ_MASTER_TO_JOIN ), clif_parse_partybooking_join, 0 );
  1852. parseable_packet( HEADER_CZ_PARTY_REQ_ACK_MASTER_TO_JOIN, sizeof( struct PACKET_CZ_PARTY_REQ_ACK_MASTER_TO_JOIN ), clif_parse_partybooking_reply, 0 );
  1853. #endif
  1854. #if PACKETVER_MAIN_NUM >= 20200916 || PACKETVER_RE_NUM >= 20200724
  1855. parseable_packet( HEADER_CZ_ADVANCED_STATUS_CHANGE, sizeof( PACKET_CZ_ADVANCED_STATUS_CHANGE ), clif_parse_traitstatus_up, 0 );
  1856. parseable_packet( HEADER_CZ_GRADE_ENCHANT_SELECT_EQUIPMENT, sizeof( struct PACKET_CZ_GRADE_ENCHANT_SELECT_EQUIPMENT ), clif_parse_enchantgrade_add, 0 );
  1857. parseable_packet( HEADER_CZ_GRADE_ENCHANT_REQUEST, sizeof( struct PACKET_CZ_GRADE_ENCHANT_REQUEST ), clif_parse_enchantgrade_start, 0 );
  1858. parseable_packet( HEADER_CZ_GRADE_ENCHANT_CLOSE_UI, sizeof( struct PACKET_CZ_GRADE_ENCHANT_CLOSE_UI ), clif_parse_enchantgrade_close, 0 );
  1859. #endif
  1860. #if PACKETVER_MAIN_NUM >= 20201118 || PACKETVER_RE_NUM >= 20211103 || PACKETVER_ZERO_NUM >= 20221024
  1861. parseable_packet( HEADER_CZ_REQUEST_RANDOM_ENCHANT, sizeof( struct PACKET_CZ_REQUEST_RANDOM_ENCHANT ), clif_parse_enchantwindow_general, 0 );
  1862. parseable_packet( HEADER_CZ_REQUEST_PERFECT_ENCHANT, sizeof( struct PACKET_CZ_REQUEST_PERFECT_ENCHANT ), clif_parse_enchantwindow_perfect, 0 );
  1863. parseable_packet( HEADER_CZ_REQUEST_UPGRADE_ENCHANT, sizeof( struct PACKET_CZ_REQUEST_UPGRADE_ENCHANT ), clif_parse_enchantwindow_upgrade, 0 );
  1864. parseable_packet( HEADER_CZ_REQUEST_RESET_ENCHANT, sizeof( struct PACKET_CZ_REQUEST_RESET_ENCHANT ), clif_parse_enchantwindow_reset, 0 );
  1865. parseable_packet( HEADER_CZ_CLOSE_UI_ENCHANT, sizeof( struct PACKET_CZ_CLOSE_UI_ENCHANT ), clif_parse_enchantwindow_close, 0 );
  1866. #endif
  1867. #if PACKETVER_RE_NUM >= 20211103 || PACKETVER_ZERO_NUM >= 20210818 || PACKETVER_MAIN_NUM >= 20220330
  1868. parseable_packet( HEADER_CZ_CHECKNAME2, sizeof( struct PACKET_CZ_CHECKNAME2 ), clif_parse_Mail_Receiver_Check, 0 );
  1869. parseable_packet( HEADER_CZ_RODEX_RETURN, sizeof( struct PACKET_CZ_RODEX_RETURN ), clif_parse_Mail_return, 0 );
  1870. parseable_packet( HEADER_CZ_REQ_TAKEOFF_EQUIP_ALL, sizeof( struct PACKET_CZ_REQ_TAKEOFF_EQUIP_ALL ), clif_parse_unequipall, 0 );
  1871. parseable_packet( 0xb93, 12, clif_parse_dull, 0 );
  1872. #endif
  1873. #if PACKETVER_MAIN_NUM >= 20200916 || PACKETVER_RE_NUM >= 20211103 || PACKETVER_ZERO_NUM >= 20221024
  1874. parseable_packet( HEADER_CZ_CLOSE_REFORM_UI, sizeof( struct PACKET_CZ_CLOSE_REFORM_UI ), clif_parse_item_reform_close, 0 );
  1875. parseable_packet( HEADER_CZ_ITEM_REFORM, sizeof( struct PACKET_CZ_ITEM_REFORM ), clif_parse_item_reform_start, 0 );
  1876. #endif
  1877. #if PACKETVER_MAIN_NUM >= 20220216
  1878. parseable_packet( HEADER_CZ_APPROXIMATE_ACTOR, sizeof( struct PACKET_CZ_APPROXIMATE_ACTOR ), clif_parse_dull, 0 );
  1879. #endif
  1880. #if PACKETVER_MAIN_NUM >= 20220216 || PACKETVER_ZERO_NUM >= 20220316
  1881. parseable_packet( HEADER_CZ_USE_PACKAGEITEM, sizeof( struct PACKET_CZ_USE_PACKAGEITEM ), clif_parse_itempackage_select, 0 );
  1882. #endif
  1883. #if PACKETVER_MAIN_NUM >= 20220216 || PACKETVER_ZERO_NUM >= 20220203
  1884. parseable_packet( HEADER_CZ_RESET_SKILL, sizeof( struct PACKET_CZ_RESET_SKILL ), clif_parse_reset_skill, 0 );
  1885. #endif
  1886. #if PACKETVER_MAIN_NUM >= 20240502
  1887. parseable_packet( HEADER_CZ_GM_CHECKER, sizeof( struct PACKET_CZ_GM_CHECKER ), clif_parse_macro_checker, 0 );
  1888. #endif
  1889. #endif /* CLIF_PACKETDB_HPP */